3

我有一些字符串:

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

我希望输出为:

amount: 123.456,00
amount2: 123.456,78

我已经看过这里,但这不适用于我的示例。

4

3 回答 3

9

您可以使用:

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

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

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

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

于 2013-09-13T17:12:10.273 回答
4

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

string.Format("{0:0,0.00}", Convert.ToDouble(amount))
于 2013-09-13T17:12:53.577 回答
1

或者,以下内容还可以让用户轻松自定义我的应用程序的要求。

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

decimal.Parse(amount).ToString("N", new NumberFormatInfo{NumberDecimalSeparator = decimalSeperator , NumberDecimalDigits = decimalDigits, NumberGroupSeparator = groupSeperator});
于 2017-11-27T07:46:50.740 回答