例如我有几个小数:
decimal[] arr = { 1, (decimal)1.1, (decimal)1.00 };
它们代表俄罗斯卢布的价格:
var overrideCulture = new System.Globalization.CultureInfo("ru-RU");
当我使用:
foreach (var d in arr)
{
string s = d.ToString("c", overrideCulture);
Console.WriteLine(s);
}
我明白了
1,00p.
1,10p.
1,00p.
结果,但我需要的是,如果分数为零,我不希望它显示,但我需要保持货币格式。在这个例子中,我想得到:
1p.
1,10p.
1p.
我可以简单地得到以下分数:
foreach (var d in arr)
{
string s = d.ToString("#.##", overrideCulture);
Console.WriteLine(s);
}
但货币格式会丢失。
string s = d.ToString("#.##c", overrideCulture);
也不起作用,我得到1c
或1,1c
有没有一些不棘手的方法来获得我需要的这种格式?