回答編集履歴
5
追記
test
CHANGED
@@ -35,3 +35,21 @@
|
|
35
35
|
|
36
36
|
|
37
37
|
これについては、簡便な方法が無いか検討中です。
|
38
|
+
|
39
|
+
```Python
|
40
|
+
|
41
|
+
with decimal.localcontext() as ctx:
|
42
|
+
|
43
|
+
...
|
44
|
+
|
45
|
+
n += 1
|
46
|
+
|
47
|
+
print(n) # => 1.24
|
48
|
+
|
49
|
+
|
50
|
+
|
51
|
+
n -= 1
|
52
|
+
|
53
|
+
print(n) # => 0.24 これが 0.240 にならないか
|
54
|
+
|
55
|
+
```
|
4
修正
test
CHANGED
@@ -6,11 +6,7 @@
|
|
6
6
|
|
7
7
|
import decimal
|
8
8
|
|
9
|
-
from decimal import Decimal
|
10
|
-
|
11
9
|
|
12
|
-
|
13
|
-
|
14
10
|
|
15
11
|
with decimal.localcontext() as ctx:
|
16
12
|
|
@@ -20,15 +16,9 @@
|
|
20
16
|
|
21
17
|
|
22
18
|
|
23
|
-
# 有効桁数は
|
19
|
+
# 有効桁数は即座に適用される
|
24
20
|
|
25
|
-
n =
|
21
|
+
n = ctx.create_decimal('0.2345')
|
26
|
-
|
27
|
-
print(n) # => 0.2345
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
n = 1 * n
|
32
22
|
|
33
23
|
print(n) # => 0.235
|
34
24
|
|
3
追記
test
CHANGED
@@ -37,3 +37,11 @@
|
|
37
37
|
|
38
38
|
|
39
39
|
**参考**: [decimal --- 十進固定及び浮動小数点数の算術演算 — Python 3.9.0 ドキュメント](https://docs.python.org/ja/3/library/decimal.html)
|
40
|
+
|
41
|
+
|
42
|
+
|
43
|
+
> 加えて、例えば3桁の有効数字を考える場合に1.2ではなく1.20と表示する、0.01ではなく0.0100と表示するなど、表示方法についても洗練させられればと考えています。
|
44
|
+
|
45
|
+
|
46
|
+
|
47
|
+
これについては、簡便な方法が無いか検討中です。
|
2
修正
test
CHANGED
@@ -4,29 +4,33 @@
|
|
4
4
|
|
5
5
|
```Python
|
6
6
|
|
7
|
+
import decimal
|
8
|
+
|
7
|
-
from decimal import Decimal
|
9
|
+
from decimal import Decimal
|
8
10
|
|
9
11
|
|
10
12
|
|
11
|
-
with localcontext() as ctx:
|
12
13
|
|
13
|
-
# 有効桁数を設定
|
14
14
|
|
15
|
+
with decimal.localcontext() as ctx:
|
16
|
+
|
15
|
-
ctx.prec = 3
|
17
|
+
ctx.prec = 3 # 有効桁数を設定
|
18
|
+
|
19
|
+
ctx.rounding = decimal.ROUND_HALF_UP # いわゆる四捨五入を丸め方に設定
|
16
20
|
|
17
21
|
|
18
22
|
|
19
23
|
# 有効桁数は計算結果に適用される
|
20
24
|
|
21
|
-
n = Decimal('
|
25
|
+
n = Decimal('0.2345')
|
22
26
|
|
23
|
-
print(n) # =>
|
27
|
+
print(n) # => 0.2345
|
24
28
|
|
25
29
|
|
26
30
|
|
27
31
|
n = 1 * n
|
28
32
|
|
29
|
-
print(n) # =>
|
33
|
+
print(n) # => 0.235
|
30
34
|
|
31
35
|
```
|
32
36
|
|
1
修正
test
CHANGED
@@ -4,27 +4,29 @@
|
|
4
4
|
|
5
5
|
```Python
|
6
6
|
|
7
|
-
from decimal import Decimal,
|
7
|
+
from decimal import Decimal, localcontext
|
8
8
|
|
9
9
|
|
10
10
|
|
11
|
-
|
11
|
+
with localcontext() as ctx:
|
12
12
|
|
13
|
+
# 有効桁数を設定
|
14
|
+
|
13
|
-
|
15
|
+
ctx.prec = 3
|
14
16
|
|
15
17
|
|
16
18
|
|
17
|
-
# 有効桁数は計算結果に適用される
|
19
|
+
# 有効桁数は計算結果に適用される
|
18
20
|
|
19
|
-
n = Decimal('1.2345')
|
21
|
+
n = Decimal('1.2345')
|
20
22
|
|
21
|
-
print(n) # => 1.2345
|
23
|
+
print(n) # => 1.2345
|
22
24
|
|
23
25
|
|
24
26
|
|
25
|
-
n = 1 * n
|
27
|
+
n = 1 * n
|
26
28
|
|
27
|
-
print(n) # => 1.23
|
29
|
+
print(n) # => 1.23
|
28
30
|
|
29
31
|
```
|
30
32
|
|