为什么以下四舍五入不是在Python 3个工作,但只有在Python 2?Python 3中的四舍五入问题
random_nums = np.array([-1, 0, 1, 2, 3])
probabilities = np.array([0.01, 0.3, 0.58, 0.1, 0.01])
target = dict(zip(random_nums, probabilities))
target = {k: round(v, 2) for k, v in target.items()}
out:
{-1: 0.01,
0: 0.29999999999999999,
1: 0.57999999999999996,
2: 0.10000000000000001,
3: 0.01}
如果您需要确切的花车/双打舍入,转换为字符串输出时做四舍五入。由于显示的位数,这与所选浮点精度到达这些数字的距离相近。 –