使用自定义字符串格式在转换为字符串的数字中显示逗号

时间:2017-05-09 15:34:03

标签: c# string string-formatting

我正在尝试更改对象的格式,可以是整数或小数,以使用下面的自定义格式化程序添加逗号(例如,1000返回为1,000)

string temp => $"{value:n0}"

以上工作正常但是当值为十进制时,它会删除小数点,所以我提出了以下格式,当值为十进制但未返回逗号时保留小数

string temp => $"{value:.#}"

我是否知道更好的方法可以获得以下结果?

1000 to be returned as 1,000
13.00 to be returned as 13
13.1 to be returned as 13.1

我只想在非零时包含小数

1 个答案:

答案 0 :(得分:2)

没有标准格式为积分/类型值返回0小数。您可以使用#,###.#格式返回使用groupind的字符串和带可选十进制数字的小数分隔符。您必须明确指定小数位数。

该行:

Console.WriteLine($"{d:#,###.#}");

以您指定的格式返回字符串:

1000       -> 1,000
13         -> 13
13.1       -> 13.1
1234567.8  -> 1,234,567.8