回答編集履歴
1
タイプミスの修正とエラーの時の説明を追記
test
CHANGED
@@ -38,7 +38,21 @@
|
|
38
38
|
|
39
39
|
計算結果は 0.7777・・・の循環小数なので、小数第3位を四捨五入させた値になりました。
|
40
40
|
|
41
|
-
ここで、もし小数点以下の桁数を指定しないと、無限の桁数が必要になってしまって BigDecimal の divide メソッドは A
|
41
|
+
ここで、もし小数点以下の桁数を指定しないと、無限の桁数が必要になってしまって BigDecimal の divide メソッドは ArithmeticException をスローするので注意してください。
|
42
|
+
|
43
|
+
|
44
|
+
|
45
|
+
BigDecimal.valueOf(num2).divide(BigDecimal.valueOf(num1).pow(2)) の場合のエラー
|
46
|
+
|
47
|
+
```
|
48
|
+
|
49
|
+
Exception in thread "main" java.lang.ArithmeticException: Non-terminating decimal expansion; no exact representable decimal result.
|
50
|
+
|
51
|
+
at java.base/java.math.BigDecimal.divide(BigDecimal.java:1722)
|
52
|
+
|
53
|
+
at Main.main(Main.java:22)
|
54
|
+
|
55
|
+
```
|
42
56
|
|
43
57
|
|
44
58
|
|