私は、データ型Double.Parse精度/丸めの問題
進(24,10)
でデータベース内の1つの列を持っている私が値
のような文字列D1を持っているとしましょう= "123.6666666666";
Double.Parse(d1)
のDataColumnでの出力:123.6666666700
私は出力123.6666666666を与えるConvert.ToDecimal(d1)
を使用していました。
予想される出力:123.7000000000
私は、データ型Double.Parse精度/丸めの問題
進(24,10)
でデータベース内の1つの列を持っている私が値
のような文字列D1を持っているとしましょう= "123.6666666666";
Double.Parse(d1)
のDataColumnでの出力:123.6666666700
私は出力123.6666666666を与えるConvert.ToDecimal(d1)
を使用していました。
予想される出力:123.7000000000
あなたが得た出力は、ダブル、小数点以下の値のため、精度です。
Math.Round(Double.Parse(d1),1)
または、あなたの場合:何actualy欲しいのは、そのためにあなたは、このように、あなたのニーズに応じて、いずれかをダブルまたは小数で、恐らくMath.roundを使用する必要があり、1小数の桁に数値を四捨五入することです[精度差を返すdouble.parse]の https://msdn.microsoft.com/pt-br/library/75ks3aby(v=vs.110).aspx
可能な複製(http://stackoverflow.com/questions/6190120:MSDNのリンクをチェックし、恐らくMath.roundの詳細については
が必要/倍精度を返す精度差) – Magnetron
@ Magnetron今質問を確認してください。 – Mukund
Math.Round(Convert.ToDecimal(d1)、1) – Cato