2

質問は本当に簡単です。float に変換したい double があります。

double doubleValue = 0.00000000000000011102230246251565;
float floatValue = (float)doubleValue;

今、私がこれをするとき。浮動小数点値は狂ってしまいます。その値は " 1.110223E-16 " です。このフローのために何か特別なことをする必要がありますか? 値は 0 または 0.1 である必要がありますが、ここにはありません。ここで何が問題ですか?

4

5 に答える 5

0

実際、それは正しい値を与えています。

浮動小数点に変換した後に指数を取り除くのはどうですか

double doubleValue = 0.00000000000000011102230246251565;
float result = (float)doubleValue;
decimal d = Decimal.Parse(result.ToString(), System.Globalization.NumberStyles.Float);
于 2013-06-27T07:18:18.780 に答える