我有一个Double值:
double a = 4.5565;
计算小数点后的位数(在这种情况下为4)的最简单方法是什么。
我知道我可以转换为字符串并进行分割并取长度。但是,有没有更简单的方法?
最佳答案
没有简单的方法,特别是因为从数学上讲,数字的位数可能远远超过显示的位数。例如,实际上将4.5565作为4.556499999999999772626324556767940521240234375
存储(感谢harold对其进行计算)。您不太可能找到解决此问题的有用方法。
编辑
您可能会想出某种算法,其工作原理如下:如果在计算小数表示形式时发现连续有一定数量的9(或零),则将(或向下)四舍五入到序列的最后一位。 9s(或零)开始。我怀疑在这条路上您会发现比预期更多的麻烦。
关于c# - 查找Double的小数点后的位数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9386672/