重複の可能性:
double で小数点以下の桁数を移動する
Javaでこの奇妙な問題が発生しています。次のコードがあります。
double velocity = -0.07;
System.out.println("raw value " + velocity*200 );
System.out.println("floored value " + Math.floor(velocity*200) );
次の出力があります。
raw value -14.000000000000002
floored value -15.0
これらのtraling 0002はすべてを台無しにします.ところで、そのtraling 2があるべきではありません.小数点以下はすべてゼロであるべきだと思います.その2を取り除くことはできますか?
更新: 助けてくれてありがとう、みんな、doubleValue メソッドを呼び出さずに BigDecimal オブジェクトで床を丸める方法を知っていますか?