如何确定double中的小数位数?

时间:2014-11-21 08:05:57

标签: c# math decimal

如果我有一个数字,我该如何确定小数?

e.g。对于0.0001我想得到结果4

  

上面提到的副本不如此重复,因为   他们正在考虑与文化无关的代码,但这个问题是   只是关于十进制的代码(即在十进制之后)。所以没必要   引入更多开销:

     

Finding the number of places after the decimal point of a Double

     

但他们都是好线程。

1 个答案:

答案 0 :(得分:2)

你真的不可能。 double是浮点精度数据类型,因此它永远不会精确。

可能使用ToString

来解决问题
double d = 0.994562d;

int numberOfDecimals = d.ToString(CultureInfo.InvariantCulture).Length
                       - d.ToString(CultureInfo.InvariantCulture).IndexOf('.')
                       - 1
                       ;