teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

d

2021/01/19 09:02

投稿

tiitoi
tiitoi

スコア21960

answer CHANGED
@@ -19,4 +19,31 @@
19
19
  ```
20
20
  0.2
21
21
  -0.2
22
+ ```
23
+
24
+ ----
25
+
26
+ ## 追記
27
+
28
+ > 計算に応じた,小数点以下の桁数の表示をしたいです。
29
+
30
+ 10進数だと割り切れるはずの計算を必要な桁数で表示したい場合は、2進の浮動小数演算だと困難です。
31
+ 10進数のまま計算できる Decimal モジュールを使いましょう。
32
+
33
+ [decimal --- 十進固定及び浮動小数点数の算術演算 — Python 3.9.1 ドキュメント](https://docs.python.org/ja/3/library/decimal.html)
34
+
35
+ ```python
36
+ from decimal import *
37
+
38
+ input_arr = input().split(" ")
39
+
40
+ print(input_arr)
41
+ rest_1 = Decimal(input_arr[0]) - Decimal(input_arr[1]) / 100
42
+
43
+ rest_2 = rest_1 - rest_1 * Decimal(input_arr[2]) / 100
44
+ print(rest_1)
45
+ print(rest_2)
46
+ # ['1', '80', '40']
47
+ # 0.2
48
+ # 0.12
22
49
  ```