"0.000001" (and-6ren">
gpt4 book ai didi

C# double.ToString() 最大位数和尾随零

转载 作者:太空狗 更新时间:2023-10-29 18:31:21 25 4
gpt4 key购买 nike

如何将 double 转换为最大位数为 6 的 string 并删除尾随零?

我想要:

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")

使用 string.Format("{0:F6"}, value) 输出尾随零和 string.Format("{0:G6"}, value)不适合第二个例子。

可以使用 value.ToString("0.######) 吗?

string.Format() 是否有等效的方法?

最佳答案

可以使用 value.ToString("0.######")。但是,您应该考虑另一件事:double 不是十进制(基数为 10)的数字。您不应该依赖数字的十进制表示是任何合理的 - 许多以 10 为底的普通十进制数字需要以 2 为底的无限小数扩展。

如果您确实关心十进制表示,可能改用 decimal 是更好的主意 - 它也是一个 float ,但以 10 为基数。

在任何一种情况下,这都涉及舍入 - 这可能是也可能不是您想要的。

关于C# double.ToString() 最大位数和尾随零,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33280388/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com