C99 標準稍微修改了國際貨幣符號的定義,現在的長度為 4 個字元,而不是先前定義的 3 個字元。第四個字元通常會是一個 ASCII 空格,但它的實際值是根據地區設定而定的數字分組間隔字元(即 [sep_by_space] 和 [grouping] 所參考的字元)…
(PHP 4 >= 4.0.5, PHP 5, PHP 7, PHP 8)
localeconv — 取得數值格式化資訊
此函式沒有參數。
localeconv() 會根據 setlocale() 設定的目前語系環境,返回相關數據。返回的關聯式陣列包含以下欄位:
陣列元素 | 說明 |
---|---|
decimal_point | 小數點字元 |
thousands_sep | 千位分隔符號 |
grouping | 包含數字分組方式的陣列 |
int_curr_symbol | 國際貨幣符號(例如 USD) |
currency_symbol | 本地貨幣符號(例如 $) |
mon_decimal_point | 貨幣值的小數點字元 |
mon_thousands_sep | 貨幣值的千位分隔符號 |
mon_grouping | 包含貨幣值分組方式的陣列 |
positive_sign | 正值的符號 |
negative_sign | 負值的符號 |
int_frac_digits | 國際貨幣值的小數位數 |
frac_digits | 本地貨幣值的小數位數 |
p_cs_precedes |
如果 currency_symbol 位於正值之前,則為 true ,如果位於正值之後,則為 false |
p_sep_by_space |
如果 currency_symbol 與正值之間以空格分隔,則為 true ,否則為 false |
n_cs_precedes |
如果 currency_symbol 位於負值之前,則為 true ,如果位於負值之後,則為 false |
n_sep_by_space |
如果 currency_symbol 與負值之間以空格分隔,則為 true ,否則為 false |
p_sign_posn |
|
n_sign_posn |
|
p_sign_posn
和 n_sign_posn
包含格式化選項的字串。每個數字代表上述其中一種情況。
grouping 欄位包含定義數字分組方式的陣列。例如,nl_NL 語系環境(在 UTF-8 模式下使用歐元符號)的貨幣分組欄位會包含一個具有值 3 和 3 的 2 項陣列。陣列索引越高,分組位置越靠左。如果陣列元素等於 CHAR_MAX
,則不再進行分組。如果陣列元素等於 0,則應使用前一個元素。
範例 #1 localeconv() 範例
<?php
if (false !== setlocale(LC_ALL, 'nl_NL.UTF-8@euro')) {
$locale_info = localeconv();
print_r($locale_info);
}
?>
上述範例將輸出:
Array ( [decimal_point] => . [thousands_sep] => [int_curr_symbol] => EUR [currency_symbol] => € [mon_decimal_point] => , [mon_thousands_sep] => [positive_sign] => [negative_sign] => - [int_frac_digits] => 2 [frac_digits] => 2 [p_cs_precedes] => 1 [p_sep_by_space] => 1 [n_cs_precedes] => 1 [n_sep_by_space] => 1 [p_sign_posn] => 1 [n_sign_posn] => 2 [grouping] => Array ( ) [mon_grouping] => Array ( [0] => 3 [1] => 3 ) )
C99 標準稍微修改了國際貨幣符號的定義,現在的長度為 4 個字元,而不是先前定義的 3 個字元。第四個字元通常會是一個 ASCII 空格,但它的實際值是根據地區設定而定的數字分組間隔字元(即 [sep_by_space] 和 [grouping] 所參考的字元)…