如何更改NumberFormat?

时间:2016-07-07 11:07:27

标签: c#

我有一个查询。我需要将(,)改为(.)和(.)改为(,)一个数字(即1,234.45 - > 1.234,45)。

我尝试了string.Replace()方法。它将所有(。)改为(,)或(,)改为(。)。

请有人建议我如何实现这一目标。

3 个答案:

答案 0 :(得分:3)

您可以将ToStringNumberFormatInfo

一起使用
decimal value = new decimal(1234.45);
Console.Out.WriteLine(value.ToString("N",   new NumberFormatInfo
                                            {
                                                NumberDecimalSeparator = ".",  
                                                NumberGroupSeparator = ","
                                            }));

将输出

  

1,234.45

答案 1 :(得分:2)

只需在替换之间使用临时字符(例如:' _')。

char tempChar = '_';
string originalStr = "1,234.45";
string finalStr = originalStr.Replace(',', tempChar).Replace('.', ',').Replace(tempChar , '.');

答案 2 :(得分:-1)

您可以尝试使用:

var str = Convert.ToDecimal("1.2345", new CultureInfo("en-US"));

或喜欢

var str = decimal.Parse("1.2345", new NumberFormatInfo() { NumberDecimalSeparator = "," });