如何使用千位分隔和十进制逗号格式化字符串?

时间:2013-09-13 17:06:54

标签: c# .net string formatting string-formatting

我有一些字符串:

string amount = "123456";
string amount2 = "123456.78";

我希望输出为:

amount: 123.456,00
amount2: 123.456,78

我已经看了here,但这对我的例子不起作用。

3 个答案:

答案 0 :(得分:9)

您可以使用:

decimal.Parse(amount).ToString("N")

这假设您的文化使用您想要的格式。您可以明确指定文化,例如:

decimal.Parse(amount, CultureInfo.InvariantCulture)
    .ToString("N", new CultureInfo("de-DE"))

为文化"德国(德国)" ("de-DE")。编辑以指定Parse方法的格式提供程序。

答案 1 :(得分:4)

好的,我解决了这个问题:

string.Format("{0:0,0.00}", Convert.ToDouble(amount))

答案 2 :(得分:1)

另外,以下内容还可以轻松实现用户自定义对我的应用程序的要求。

string groupSeperator = ".";
string decimalSeperator = ",";
int decimalDigits= 2;

amount.ToString("N", new NumberFormatInfo {NumberDecimalSeparator = decimalSeperator , NumberDecimalDigits = decimalDigits, NumberGroupSeparator = groupSeperator});