我有一个查询。我需要一些改变(,
)至(.
)和(.
)至(,
)(即,1,234.45
- >1.234,45
)。我试过string.Replace()
的方法。它将所有(。)更改为(,)或(,)为(。)。如何更改NumberFormat?
请任何人建议我如何做到这一点。
我有一个查询。我需要一些改变(,
)至(.
)和(.
)至(,
)(即,1,234.45
- >1.234,45
)。我试过string.Replace()
的方法。它将所有(。)更改为(,)或(,)为(。)。如何更改NumberFormat?
请任何人建议我如何做到这一点。
只需在替换之间使用临时字符(例如:'_')即可。
char tempChar = '_';
string originalStr = "1,234.45";
string finalStr = originalStr.Replace(',', tempChar).Replace('.', ',').Replace(tempChar , '.');
你可以尝试使用:
var str = Convert.ToDecimal("1.2345", new CultureInfo("en-US"));
或类似
var str = decimal.Parse("1.2345", new NumberFormatInfo() { NumberDecimalSeparator = "," });
调用'ToString'像“1000”与文化“EN-US”是不会用了一段来取代逗号'string'。这就是你的_如果它是一个字符串then_部分似乎暗示 – juharr
@juharr: - 没有看到OP使用小数点。 –
您可以使用ToString
与NumberFormatInfo
decimal value = new decimal(1234.45);
Console.Out.WriteLine(value.ToString("N", new NumberFormatInfo
{
NumberDecimalSeparator = ".",
NumberGroupSeparator = ","
}));
它将输出
1,234.45
这是一个浮动或字符串? –
@ThomasAyoub,我已经设置的数据类型为十进制 – Prithiv
这对我来说,看起来像一个[XY问题(http://meta.stackexchange.com/questions/66377/what-is-the-xy-problem) - 可能你更详细地描述你正在尝试做什么? – Default