次の簡単なコードがあるとしましょう
string number = "93389.429999999993";
double numberAsDouble = Convert.ToDouble(number);
Console.WriteLine(numberAsDouble);
その後、変換numberAsDouble
変数の値は 93389.43 になります。この変数を四捨五入せずにそのまま完全な数に保つにはどうすればよいですか? Convert.ToDecimal
同じように動作しないことがわかりましたが、値を2倍にする必要があります。
-------小さな更新---------------------
上記のコードの 2 行目にブレークポイントを配置すると、コンソールに表示される前に numberAsDouble 変数が丸められた値 93389.43 を持つことが示されます。