lid*_*min 1 .net c# globalization
我有一些字符串格式的问题,我在格式化特定格式时强迫文化:
get { return String.Format("{0:###,###,###,###,##0}", Convert.ToDecimal(_monthPay, new System.Globalization.CultureInfo("es-ES"))); }
Run Code Online (Sandbox Code Playgroud)
所以我可以得到这个:
$ 300.000,01
在localhost它工作正常,但当我发布到服务器,我得到这个:
$ 300,000.01
我不知道为什么!!! 我无法访问服务器,因此无法更改服务器上的区域设置; 还有另一种解决方法吗?以便我在localhost和发布时正常工作?
谢谢.
你CultureInfo在错误的地方经过了.
通过传递CultureInfo给Convert.ToDecimal你,你告诉你Convert.ToDecimal使用这种文化转换数字.(这是相关的,如果_monthPay是一个字符串,需要解析)
但是,你没有传递CultureInfo给String.Format,所以它仍然使用默认文化.
顺便说一下,只有String.Format在组合多个值时才应该使用.在你的情况下,你应该调用ToString重载.此外,您的格式字符串不必要很长; 你可以简单地写#,0.如果要包含货币符号,则可以C改为使用.
因此,你应该写Convert.ToDecimal(_monthPay).ToString("#,0", new System.Globalization.CultureInfo("es-ES")).
| 归档时间: |
|
| 查看次数: |
853 次 |
| 最近记录: |