Csharp/C#教程:格式化不同文化中的数字分享


格式化不同文化中的数字

假设文化不变 ,是否可以以格式定义不同的组分隔符 – 而不是逗号?

Thread.CurrentThread.CurrentCulture = CultureInfo.InvariantCulture; Console.WriteLine(String.Format("{0:#,##0}", 2295)); 

输出:

 2,295 

期望的输出:

 2.295 

不变文化是一项要求,因为来自许多不同语言环境的货币都使用格式字符串格式化,这些格式字符串是用户定义的。 即丹麦他们已经将价格格式定义为“{0:0}, – ”,而对于爱尔兰,它可能是“€{0:#,## 0}”。

如果您有不同的格式字符串,这并不意味着您必须使用InvariantCulture。 如果你有德国的格式字符串,例如你使用Culture(“de-de”)格式化这个字符串:

 String.Format(CultureInfo.GetCultureInfo( "de-de" ), "{0:0},-", 2295) //will result in 2.295,- String.Format(CultureInfo.GetCultureInfo( "en-us" ), "{0:0},-", 2295) //will result in 2,295,- 

或者,您可以指定自定义数字格式信息 :

 NumberFormatInfo nfi = new NumberFormatInfo( ) { CurrencyGroupSeparator = ":" }; String.Format(nfi, "{0:0},-", 2295) //will result in 2:295,- 

通常的做法是使用不变文化。

您确实以不变样式指定格式,但正确的符号将被替换, #,##0.00将显示为1.234,501,235.50,具体取决于所使用的实际文化。

上述就是C#学习教程:格式化不同文化中的数字分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/1018222.html

(0)
上一篇 2022年1月3日
下一篇 2022年1月3日

精彩推荐