我有一些字符串:
string amount = "123456";
string amount2 = "123456.78";
我希望输出结果为:
amount: 123.456,00
amount2: 123.456,78
我已经在这里查看了,但是这并不适用于我的例子。
我有一些字符串:
string amount = "123456";
string amount2 = "123456.78";
我希望输出结果为:
amount: 123.456,00
amount2: 123.456,78
我已经在这里查看了,但是这并不适用于我的例子。
您可以使用:
decimal.Parse(amount).ToString("N")
decimal.Parse(amount, CultureInfo.InvariantCulture)
.ToString("N", new CultureInfo("de-DE"))
针对文化 "德国 (德国)" ("de-DE"
)。编辑以指定Parse
方法的格式提供程序。
好的,我已经解决了以下问题:
string.Format("{0:0,0.00}", Convert.ToDouble(amount))
另外,以下内容还可以方便用户自定义,这是我的应用程序的要求。
string groupSeperator = ".";
string decimalSeperator = ",";
int decimalDigits= 2;
decimal.Parse(amount).ToString("N", new NumberFormatInfo{NumberDecimalSeparator = decimalSeperator , NumberDecimalDigits = decimalDigits, NumberGroupSeparator = groupSeperator});
Convert.ToDouble(amount).ToString("0,0.00")
。但正如我在答案中所说的那样,也可以使用"N"
代替"0,0.00"
(或在文化具有与2
不同的NumberDecimalDigits
的罕见情况下使用"N2"
)。 - Jeppe Stig Nielsen