是否有自定义数字格式字符串可用于显示数千或数百万的数字?
e.g。我想将数字2,234,567.00显示为:
$ 2,235(如果成千上万)
...或...
2.2美元(如果以百万计)
...在:
中使用不同的FormatStrings MsgBox(MyNumber.ToString("FormatStrings"))
我希望永远不必根据所需的显示字符串构建将数字除以1,000或1,000,000的逻辑。
答案 0 :(得分:1)
您可以使用组分隔符“,”进行缩放,如Custom Numeric Format Strings。
中所述E.g。
double d = 2234567.00;
Console.WriteLine(d.ToString("#,0,")); // 2,235
Console.WriteLine(d.ToString("#,0,.0")); // 2,234.6
Console.WriteLine(d.ToString("#,0,,.0")); //2.2
答案 1 :(得分:-1)
@ Joe的回答是正确的 - 以下只是提供了额外的背景,答案以与问题相同的格式呈现。
这实际上很简单。
显示2,234,567.00 - 以千计为单位 - 为2,235 ...
MsgBox(MyNumber.ToString("#,##0,"))
显示2,234,567.00 - 以百万计 - 为2.2 ......
MsgBox(MyNumber.ToString("#,##0,,.0"))
魔术发生在0之后的逗号。它们各自替换三位数。