如何更正Python编号显示方式和/或精度

时间:2019-05-16 06:00:12

标签: python-3.x

在相同条件下,具有有限精度的浮点数将以不同的精度表示

它已在Linux和Windows下的python 3.x版本上进行检测和测试。并为下一次计算带来负面影响。

for i in range(100):
    k = 1 + i / 100;
    print(k)
1.0
1.01
1.02
1.03
1.04
1.05
1.06
1.07
1.08
1.09
1.1
1.11
1.12
1.13
1.1400000000000001
1.15
1.16
1.17
1.18
1.19
1.2
1.21
1.22
1.23
1.24
1.25
1.26
1.27
1.28
1.29
1.3
1.31
1.32
1.33
1.34
1.35
1.3599999999999999
1.37
1.38
1.3900000000000001
1.4
1.41
1.42
1.43
1.44
1.45
1.46
1.47
1.48
1.49
1.5
1.51
1.52
1.53
1.54
1.55
1.56
1.5699999999999998
1.58
1.5899999999999999
1.6
1.6099999999999999
1.62
1.63
1.6400000000000001
1.65
1.6600000000000001
1.67
1.6800000000000002
1.69
1.7
1.71
1.72
1.73
1.74
1.75
1.76
1.77
1.78
1.79
1.8
1.81
1.8199999999999998
1.83
1.8399999999999999
1.85
1.8599999999999999
1.87
1.88
1.8900000000000001
1.9
1.9100000000000001
1.92
1.9300000000000002
1.94
1.95
1.96
1.97
1.98
1.99

1 个答案:

答案 0 :(得分:0)

可以通过以下方式设置精度:

for i in range(100):
  k = 1 + i / 100;
  print("%.Nf"%k)

其中N-十进制数字。 请记住,尽管数量可能非常庞大,但是通常不需要很多。