当前位置:   article > 正文

Python numpy.round(0.5) 的一个问题_python round0.5

python round0.5

  在完成第三周的作业时候,并没有像第二周一样直接暴力的使用if else实现最后的预测结果部分的判断,而是使用了np.round(),于是测试时候出现了一个问题。

输入:
import numpy as np

print(np.round(0.5))
print(np.round(1.5))
  • 1
  • 2
  • 3
  • 4
输出:
0.0
2.0
  • 1
  • 2

  很奇怪啊,明明是四舍五入,但是输出了0,在文档中给出了相关的回答:

python3.5中:

values are rounded to the closest multiple of 10 to the power minus ndigits; if two multiples are equally close, rounding is done toward the even choice.

  也就是说如果四舍五入时候到两边的距离一样,结果会是偶数部分的值,所以结果是0.0和2.0。

python2.7中:

values are rounded to the closest multiple of 10 to the power minus ndigits; if two multiples are equally close, rounding is done away from 0

  可以看到,在2.7版本中,如果两边距离相等,那么会等于远离0的值,所以如果是2.7版本,输出应该是:

1.0
2.0
  • 1
  • 2
本文内容由网友自发贡献,转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/726382
推荐阅读
相关标签
  

闽ICP备14008679号