-1

重複の可能性:
Java プログラムでの奇妙な浮動小数点の動作
JSP/JSTL を 1000 で除算すると余りが生じることがあるのはなぜですか?

小数点以下の数字を取得しようとしています。例: 60.4 ->0.4

それでも、いつ

double a = 60.4 % 1;

であることがわかります0.3999999999999986

どうしてこれなの?そして、どうすれば修正できますか?

4

3 に答える 3

4

固定小数点型を使用する

BigDecimal src = new BigDecimal("60.4");
BigDecimal a = src.remainder(BigDecimal.ONE);
于 2012-05-21T09:13:52.320 に答える
1

DecimalFormatを使用して、目的のタスクを実行できます。

于 2012-05-21T09:18:48.347 に答える
0

OKここにあなたができる方法があります:小数点以下の数字を取得する方法は?(ジャワ)

これはまさにあなたが探しているものだと思います。したがって、基本的に次のものを使用できます。

double x = d - Math.floor(d);

また

10 進数の後の正確な数字のBigDecimalクラス。

于 2012-05-21T09:17:54.440 に答える