本地化我有一個程序,有時在使用逗號作爲小數點分隔符的語言環境中使用。它很好地處理了C#如何處理所有這些(對用戶界面很好),但是當我導出到一個文件時,我需要始終使用「。」,而不是區域設置特定的數字。目前,我做的:避免將格式化數字寫入文件
的String.Format( 「{0:0 ####},{1:0 ####}」,X,Y)
問題是,在某些語言環境,最終使用逗號而不是句點。問題是,是否有格式代碼表示「總是使用句點」,或者是唯一的解決方案,以弄亂一個人的語言環境?
本地化我有一個程序,有時在使用逗號作爲小數點分隔符的語言環境中使用。它很好地處理了C#如何處理所有這些(對用戶界面很好),但是當我導出到一個文件時,我需要始終使用「。」,而不是區域設置特定的數字。目前,我做的:避免將格式化數字寫入文件
的String.Format( 「{0:0 ####},{1:0 ####}」,X,Y)
問題是,在某些語言環境,最終使用逗號而不是句點。問題是,是否有格式代碼表示「總是使用句點」,或者是唯一的解決方案,以弄亂一個人的語言環境?
只需使用:
String.Format(CultureInfo.InvariantCulture, "{0:0.####},{1:0.####}", x, y)
我建議你嘗試的FxCop(或VS2005 +的團隊變種的代碼分析功能)。 它產生了很多噪音(誤報),但確實提供了很多好的做法。
包括:始終使用需要一個IFormatProvider
參數(如果有)過載 - 通常你會使用CultureInfo.CurrentCulture
爲用戶格式化輸出,並CultureInfo.InvariantCulture
在文件中存儲數據,註冊表等