回答編集履歴
1
追記の回答
answer
CHANGED
@@ -3,4 +3,23 @@
|
|
3
3
|
その値を組み合わせると、誤差が生じるのです。
|
4
4
|
|
5
5
|
BigDecimalは、整数と10の-n乗で成り立っていて、整数で計算するので誤差が生じないという仕組みです。
|
6
|
-
floatやdoubleに比べれば処理性能は遅いですが、精度を求めるのであればBigDecimalを使うしかないのです。
|
6
|
+
floatやdoubleに比べれば処理性能は遅いですが、精度を求めるのであればBigDecimalを使うしかないのです。
|
7
|
+
|
8
|
+
---
|
9
|
+
追記の回答
|
10
|
+
試したコード
|
11
|
+
```Java
|
12
|
+
public class Aa {
|
13
|
+
|
14
|
+
public static void main(String[] args) {
|
15
|
+
BigDecimal mae = new BigDecimal(1.0);
|
16
|
+
mae.setScale(4, BigDecimal.ROUND_HALF_UP);
|
17
|
+
|
18
|
+
if (BigDecimal.ONE.compareTo(mae) == 0) {
|
19
|
+
System.out.println("one");
|
20
|
+
} else {
|
21
|
+
System.out.println("not");
|
22
|
+
}
|
23
|
+
}
|
24
|
+
}
|
25
|
+
```
|