gpt4 book ai didi

c# - 在 C# 中截断 double 值的位数

转载 作者:可可西里 更新时间:2023-11-01 07:48:48 25 4
gpt4 key购买 nike

如何在 C# 中截断 double 值的前导数字,我试过 Math.Round(doublevalue,2) 但没有给出要求的结果。而且我在数学课上没有找到任何其他方法。

例如,我的值为 12.123456789,我只需要 12.12。

最佳答案

编辑:有人指出,这些方法舍入值而不是截断。很难真正截断 double 值,因为它实际上不是在正确的基数中......但截断 decimal 值更可行。

您应该使用适当的格式字符串,customstandard ,例如

string x = d.ToString("0.00");

string x = d.ToString("F2");

值得一提的是,double 值本身并不“知道”它有多少小数位。只有当您将它转换为字符串时,这样做才真正有意义。使用 Math.Round 将获得最接近 x.xx00000 的 double 值(如果您明白我的意思),但它几乎肯定不会是精确值 x.xx00000 由于二进制浮点类型的工作方式。

如果除了字符串格式化之外,您还需要它,您应该考虑使用decimal。该值实际代表什么?

我在 binary floating point 上有文章和 decimal floating point在 .NET 中,您可能会发现它很有用。

关于c# - 在 C# 中截断 double 值的位数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1426857/

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