Java と C に大きな float と double を (10 億の範囲で) 与えると、それらは科学表記法に変換され、その過程で精度が失われます。どうすればこの動作を止めることができますか?
chustar
質問する
2079 次
2 に答える
13
Java の場合は、BigDecimalを確認してください
于 2008-10-11T04:18:19.553 に答える
8
科学表記法への変換は、純粋に表示方法の効果です。表示の変更は、出力方法の問題です (書式指定子)
通常、float の精度は約 6 桁であるため、10 億単位の数値を保持するには不適切です。double には約 15 桁の精度があるため、完全な精度で数兆をはるかに超える数値を保持できるはずです。
C で double を表示するには:
printf("%10f", dbl);
于 2008-10-11T04:19:27.913 に答える