如何在 C# 中格式化 decimal
,使其小数点后至少一位,但如果指定的小数点后超过 1 位则没有固定的上限:
5 -> "5.0"
5.1 -> "5.1"
5.122 -> "5.122"
10.235544545 -> "10.235544545"
最佳答案
使用 ToString("0.0###########################")
.
一些注意事项:,
- 有 27 个
#
在那里,作为decimal
structure最多可容纳小数点后 28 位的精度。 -
0
custom specifier将导致始终显示数字,即使值为 0。 -
#
custom specifier仅当数字为零且该数字右侧/左侧的所有数字(取决于您位于小数点的哪一侧)均为零时才显示值。 - 您需要插入尽可能多的
#
第一个之后0
到小数点右边以容纳您将传递给ToString
的所有值的长度,如果你只需要精确到小数点后 10 位,那么你需要九个#
(因为你有第一个小数位右边的0
处理)
有关详细信息,请参阅 MSDN titled "Custom Numeric Format Strings" 部分.
关于c# - 十进制 ToString 格式,至少给出 1 位数字,没有上限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8184068/