String.Format() 转换十进制?为###,###,###.00 格式

String.Format() convert decimal? to ###,###,###.00 format

我正在尝试转换十进制?价格为格式化价格。我需要这样的价格格式: 222,777,333.00 这是我的代码:String.Format(item.SalePrice.ToString(), "###,###,###.00")。 结果:99999.000000 请帮忙。

尝试

item.SalePrice.ToString("N");

查看 this msdn article 了解更多关于 Decimal.ToString() 的选项。

您应该这样做:
item.SalePrice.ToString("N2");

尝试item.SalePrice.ToString("###,###,###.00");

有效:)

使用 The numeric ("N") format specifier in a 2 precision specifier with a culture that has , as a NumberGroupSeparator and . as a NumberDecimalSeparator (like InvariantCulture) 是您的最佳选择。

item.SalePrice.ToString("N2", CultureInfo.InvariantCulture)

如果您不指定 any 文化,此方法默认使用 CurrentCulture 并且您 可能 得到不同的表示如果您的 CurrentCulture 对这些属性有不同的说明符。