0

「より小さい」や「より大きい」などの境界ケース テストを正確にテストできる JUnit または Java プラクティス用のツールはありますか?

たとえば、通貨の値を半分に切り上げて最も近いセントにします。0.005 を 0.01 に丸めるテストは簡単です。0.005未満の切り捨てをテストすることは(厳密に言えば)そうではありません。

もちろん、0.0049 のような任意の値をテストできますが、これは 0.00499 のような別の値が切り上げられないことを保証するものではありません。実行されている環境の「より小さい」または「より大きい」に最も近い表現である数値を保証する定数または何かがありますか?

4

2 に答える 2

3

Math.nextAfter (0.005, 0)?

2 番目の引数の方向で最初の引数に隣接する浮動小数点数を返します。両方の引数を比較して等しい場合、2 番目の引数が返されます。

http://download.oracle.com/javase/6/docs/api/java/lang/Math.html#nextAfter%28double,%20double%29

于 2011-04-14T09:21:51.827 に答える
1

おそらくですが、これは多くの要因に依存します。金銭的な値の場合BigDecimal、精度を完全に制御できるため、常に使用する必要があります (doubleまたはfloat、単純な値でも奇妙な結果が得られる可能性があります)。

于 2011-04-14T09:22:28.817 に答える