Javaにて、以下のプログラムを作っています。
- 浮動小数点を2つ入力する
- その2つの数値を、小数点以降4桁目から切り捨てる
- 切り捨て後の数が同じかどうかを比較する
Java
1BigDecimal nums1 = new BigDecimal(num1); 2BigDecimal nums2 = new BigDecimal(num2); 3BigDecimal number1 = nums1.setScale(3, BigDecimal.ROUND_DOWN); 4BigDecimal number2 = nums2.setScale(3, BigDecimal.ROUND_DOWN);
上記のコードを書いて試しに以下のコードでプリントしてみたところ、しっかりと4桁目から後は切り捨てられて表示されました。
Java
1System.out.println(number1); 2System.out.println(number2);
ただ、System.out〜ではなくif文を書くと切り捨て前の数値で比較されてしまうのか、切り捨て後の数値が同じでもelseの方が出力されてしまいます。
Java
1if (number1 == number2) { 2 System.out.println("same"); 3} else { 4 System.out.println("different"); 5}
切り捨て後の数値で比較したいのですが、解決方法をご存知でしたらぜひ教えていただきたいです。
よろしくお願いいたします。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/03/22 05:26
2018/03/23 01:31
2018/03/23 02:00 編集
2018/03/23 01:51