2017-05-04 6 views
0
C#で (0.406 * 10000.0)戻り 4060.0000000000005代わりに 4060.0

不正計算

ノーチェック機能を書かれている理由

。小数点以下は二重の値で、以下は私が使用しているコードです。 d is 0.406の値とn is 4の値と機能はtrue代わりにfalse

I、代替ソリューションを使用することに開いているが返されたときに上記の文章に記載された問題が発生します。

public static bool HasMoreThanNDecimals(double d, int n) 
{ 
    return !(d * (double)Math.Pow(10, n) % 1 == 0); 
} 

答えて

関連する問題