十进制 ToString 格式,至少给出 1 位数字,没有上限
如何在 C# 中格式化小数点后至少一位数字,但如果小数点后指定多于 1 位数字则没有固定上限:
5 -> "5.0"
5.1 -> "5.1"
5.122 -> "5.122"
10.235544545 -> "10.235544545"
How to format a decimal
in C# with at least one digit after the decimal point, but not a fixed upper limit if specified more than 1 digit after the decimal point:
5 -> "5.0"
5.1 -> "5.1"
5.122 -> "5.122"
10.235544545 -> "10.235544545"
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
使用
ToString("0.0########### ################")
。一些注意事项:,
#
,如十进制
结构最多可容纳 28 位小数的精度。0
自定义说明符 将导致始终显示的数字,即使值为 0。#
自定义说明符 仅在数字为零且该数字右侧/左侧的所有数字(取决于小数点的哪一侧)时才显示值你所在的点)为零。0
之后插入尽可能多的#
,以容纳要传递给ToString< 的所有值的长度/code>,如果您只精确到 10 位小数,那么您需要 9 个
#
(因为右侧的第一个小数位由0
处理)更多信息,请参阅MSDN 标题为“自定义数字格式字符串”。
Use
ToString("0.0###########################")
.Some notes:,
#
s in there, as thedecimal
structure can accommodate precision up to 28 decimal places.0
custom specifier will cause a digit to always be displayed, even if the value is 0.#
custom specifier only displays a value if the digit is zero and all of the digits to the right/left of that digit (depending on what side of the decimal point you are on) are zero.#
after the first0
to the right of the decimal point to accommodate the length of all the values you will pass toToString
, if you will only have precision to 10 decimal places, then you need nine#
(since you have the first decimal place to the right handled by0
)For more information, see the section of MSDN titled "Custom Numeric Format Strings".