我有一个Double值:

double a = 4.5565;

计算小数点后的位数(在这种情况下为4)的最简单方法是什么。

我知道我可以转换为字符串并进行分割并取长度。但是,有没有更简单的方法?

最佳答案

没有简单的方法,特别是因为从数学上讲,数字的位数可能远远超过显示的位数。例如,实际上将4.5565作为4.556499999999999772626324556767940521240234375存储(感谢harold对其进行计算)。您不太可能找到解决此问题的有用方法。

编辑

您可能会想出某种算法,其工作原理如下:如果在计算小数表示形式时发现连续有一定数量的9(或零),则将(或向下)四舍五入到序列的最后一位。 9s(或零)开始。我怀疑在这条路上您会发现比预期更多的麻烦。

关于c# - 查找Double的小数点后的位数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9386672/

10-10 07:59