我试图将零货币值格式化为空字符串,以便当货币值为0.00时,将显示一个空字符串,而不是$0.00。这段代码是ASP.Net应用程序的一部分,它将向最终用户显示货币价值。我使用了下面的代码来实现这个目标。
问题:是否可以只使用{0:C}格式字符串或该格式字符串的另一个版本来实现这一点,而不是使用if then else编码?如果我使用###,###,###.##作为
这个代码:Console.Out.WriteLine(string.Format(CultureInfo.GetCultureInfo("hu-HU"), "{0:C}", 1234.56M))将产生以下输出:12456Ft,这在技术上是正确的,但是它是如何猜测货币的呢??设置货币的唯一“好”方法是克隆所需的文化并设置货币符号:
var format = NumberFormatInfo.GetInstance(CultureInfo.GetCultureInfo("en-
我想用"K“来表示数千,用"M”来表示数百万,以此来缩短货币数量。由于数字代表货币价值,我还使用NSNumberFormatter根据其值、货币和设备的区域设置正确地格式化每个数字。
我已经分别做了1和2,但在一起做这两件事都很困难。起初,我尝试简单地将缩写附加到来自NSNumberFormatter (ex )的格式正确的输出字符串。将"K“加到”10.3“后才能得到”1030万美元“)。这适用于大多数货币,直到我遇到区域