【发布时间】:2014-11-12 16:33:28
【问题描述】:
我正在使用.ToString("C") 方法以货币格式显示十进制数。但结果看起来像 "US$5,365.20" 而不是 "$5,365.20"。我尝试使用.ToString("C", new CultureInfo("en-US")),结果相同。但是当我尝试使用另一种文化(例如 en-GB)时,一切正常(£1,234.56)。
那么,为什么“US”出现在“$”符号之前呢?我怎样才能删除它?
UPD 对不起。刚刚再次检查,我看到new CultureInfo("en-US")) 一切正常,我查看了另一个标签:) 但现在我看到(感谢@Mike McCaughan),当前的货币符号是“US$”。当前的文化名称是“en-US”。
【问题讨论】:
-
我以前从未见过,你确定你没有将
US附加到你的字符串中吗?发布违规代码。 -
你能分享你的代码sn-p吗?似乎按这里的设计工作:dotnetfiddle.net/RSOHZE
-
要获取现有的
CultureInfo,我认为你需要使用CultureInfo.GetCultureInfo("en-US") -
@MikeMcCaughan 你不知道,
new CultureInfo("en-US")很好 -
@mattytommo 整洁。学到了一些新东西:)。 @Eugen,看看
(new CultureInfo("en-US")).NumberFormat.CurrencySymbol的输出,看看美国是否在$前面。
标签: c# asp.net currency-formatting