2014-03-06 107 views
2

如何在我的本地服務器上運行Windows時,在php.ini 中將小數點設置爲小數逗號而沒有任何更改代碼小數點逗號而不是小數點

3.14 >> 3,14 

我試圖設置

intl.default_locale = cs_CZ 

沒有任何結果。

編輯:爲什麼我問的原因是,如果我在主持執行的代碼我與十進制數字逗號,但是當我相同的代碼傳輸到我的本地服務器有一個小數點。漁獲在哪裏?

例如 - Linux主機:

echo 100/3; // 33,333333333333 

本地服務器上的Windows:

echo 100/3; // 33.333333333333 

的原因是什麼?

編輯2:如果我使用

setlocale(LC_NUMERIC, 'cs_CZ'); 
echo 100/3; 

我會得到相同的結果33.333333333333,所以抓必須在配置文件中或在Windows本身。

+0

*爲什麼*你想這樣做?如果你打算將它們用作小數,那麼爲什麼不把它存儲爲這樣?這聽起來像是[XY問題](http://meta.stackexchange.com/q/66377/220538)。也許你可以添加更多的解釋,說明你想要達到的目標 - 這樣,你會得到更多準確的答案。 –

+0

因爲在捷克共和國我們使用小數點逗號。 –

+0

因此,您應該在將網站用於網站的「前端」部分之前將其轉換,或者在將其用於計算之前將「逗號」轉換爲「點」 –

回答

4

intl.default_locale將語言環境設置爲intl函數而已,請參閱this comment

如果您的代碼沒有使用intl函數進行數字格式化,則無法改變代碼。它應該像設置貨幣/數字格式的區域設置爲捷克一樣簡單。

爲了錢:

setlocale(LC_MONETARY, 'cs_CZ'); 

對於數字:

setlocale(LC_NUMERIC, 'cs_CZ'); 
相關問題