如何将a double转换为string6个最大位数并删除尾随零?
我希望有 :
2.123456123 -> "2.123456"
0.0000012 -> "0.000001" (and not "1.2e-6")
12.45 -> "12.45" (and not "12.450000")
36 -> "36" (and not "36.000000")
Run Code Online (Sandbox Code Playgroud)
使用string.Format("{0:F6"}, value)输出尾随零并且string.Format("{0:G6"}, value)不适合第二个示例.
可以使用value.ToString("0.######)吗?
有没有相同的方法string.Format()呢?
这是好使用value.ToString("0.######").但是,您应该考虑另一件事:double不是十进制(基数为10)的数字.你不应该依赖数字的十进制表示是合理的 - 大量正常的十进制基数10在基数2中需要无限的十进制扩展.
如果你关心十进制表示,那么使用它可能是一个更好的主意decimal- 它也是一个浮点数,但是在10中.
在任何一种情况下,这都涉及四舍五入 - 可能是也可能不是你想要的.
| 归档时间: |
|
| 查看次数: |
4199 次 |
| 最近记录: |