String.format 根据 CurrentCulture 更改十进制变量
Posted
技术标签:
【中文标题】String.format 根据 CurrentCulture 更改十进制变量【英文标题】:String.format to change a decimal variable depending on CurrentCulture 【发布时间】:2015-10-20 15:36:15 【问题描述】:我需要根据 CurrentCulture 更改变量的格式
变量是小数
这是我目前的变更声明:
string auxst = String.Format(CultureInfo.CurrentCulture, "#,##0.00", variable);
我需要知道在第二个参数中放入什么,这样才会发生这种情况:
Variable = 150.465,1242345
If CurrentCulture is "es ES"(spain) -> auxst = "150.465,1242345"
If CUrrentCulture is "en EN" -> auxst = "150,465.1242345"
感谢帮助
【问题讨论】:
【参考方案1】:如果您使用 CurrentCulture,请不要指定。
你应该使用 Decimal.ToString():
Decimal variable = 15465.1242345M;
string auxst = variable.ToString("N");
【讨论】:
请做指定。见***.com/questions/475383/… 您可以仅用于文档目的,正如您提供的链接所述。 不指定它是为了记录你没有考虑过它。指定它文档你有考虑过。因此,正如您所考虑的那样,使用 CurrentCulture 是一种选择,而不是疏忽,您应该记录它。 不指定不代表你没有考虑过。这只是意味着您不知道开发人员是否考虑过。这种讨论只是政治性的。 :-) 但我们不在乎,因为它不会改变 PruebasDev 的答案。关键是使用“N”格式化程序。 :-) 确实如此。所以你的建议不应该是“不要指定”,因为你已经考虑过了,因此应该记录你所做的。以上是关于String.format 根据 CurrentCulture 更改十进制变量的主要内容,如果未能解决你的问题,请参考以下文章
SQL:利用STR_TO_DATE(string, format_mask)将文本型数据更改为日期型数据
用于 String.format() 的 Java 中 %ld 的 C++ 等效项
JavaScript:使用 .NET String.Format() 之类的文化格式化数字/货币?