當我注意到使用百分比格式說明符 ( ) 格式化的字串中的小數位數在P某些文化中不同時,我撰寫了一個測驗來對格式化字串執行斷言。
在下面的示例中,en-US使用兩位十進制數字,而其他采樣區域性使用三位。
這背后的啟發是什么?除了四舍五入之外,還有其他方法可以將不同的文化標準化到相同的精度嗎?
Console.WriteLine(0.19999d.ToString("P", new CultureInfo("en-US"))); // "20.00%"
Console.WriteLine(0.19999d.ToString("P", new CultureInfo("en-GB"))); // "19.999%"
Console.WriteLine(0.19999d.ToString("P", new CultureInfo("en"))); // "19.999%"
Console.WriteLine(0.19999d.ToString("P", new CultureInfo("nb-NO"))); // "19,999 %"
Console.WriteLine(0.19999d.ToString("P", new CultureInfo("nl-NL"))); // "19,999%"
運行時:6.0.9
平臺:Windows
uj5u.com熱心網友回復:
它們是不同的,因為那是那些文化所決定的合適的。如果您想要一個特定的小數位數而不是接受特定于文化的默認值,那么將其包含在您的格式說明符中,例如“P2”。
或者,您可以創建自己的CultureInfo或NumberFormatInfo根據需要設定相關屬性。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/509940.html
標籤:C#。网本土化国际化
