【问题标题】:Stop changing '.' to ',' when culture changed停止更改“。”到 ',' 当文化改变时
【发布时间】:2018-04-26 10:29:23
【问题描述】:

我有一个网页,例如,当我更改 Culture 时,1.0 会变成 2,0。更改Culture时能防止这种情况发生吗?

【问题讨论】:

  • 你在看InvariantCulture吗? string result = value.ToString(Culture.InvariantCulture);
  • 你为什么要覆盖文化设置呢?它想使用2,0 是有原因的
  • 您为什么要这样做?改变文化的一部分是改变数字格式。
  • 等等,1.0 变成了2,0 ?如何,在哪里,针对什么文化?
  • @nvoigt 我猜这是一个错字

标签: c# asp.net culture


【解决方案1】:

您可以在您使用的文化中选择自己想要的(数字)DecimalSeparator:

double number = 2.4;

CultureInfo culture = Thread.CurrentThread.CurrentCulture;
// Make a writable clone
culture = (CultureInfo)culture.Clone();
culture.NumberFormat.NumberDecimalSeparator= ".";
Thread.CurrentThread.CurrentCulture = culture;
System.Console.WriteLine(number); //prints 2.4

culture.NumberFormat.NumberDecimalSeparator = ",";
Thread.CurrentThread.CurrentCulture = culture;
System.Console.WriteLine(number); //prints 2,4

还有数字组分隔符:

number = 123232;
culture.NumberFormat.NumberGroupSeparator= ",";
Thread.CurrentThread.CurrentCulture = culture;
System.Console.WriteLine(number); //prints 123,232

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-29
    • 1970-01-01
    • 2021-03-16
    • 1970-01-01
    相关资源
    最近更新 更多