2024-09-28 20:59:51 发布
网友
当从将来导入round时,它的行为与Python3round函数不同。具体来说,它不支持负数舍入。在
round
在Python3中:
>>> round(4781, -2) 4800
在Python2中:
可能的解决方案包括负舍入的错误处理,编写自己的round函数,等等。应该如何处理?(含蓄地说,我要求的是最佳实践,大多数是Python式的,为社区所接受,等等)
我本来打算建议您自定义函数的想法,这样您就可以确保它总是做您想要的,但这似乎是一个特殊的(奇怪的)情况,如果我不使用future.builtin.round()我会得到
future.builtin.round()
Python 3.6:
和Python 2.7:
似乎只是future.builtins被破坏了;在这种情况下,应该避免使用future.builtins.round()函数。注意,py3round()返回一个整数,而py2round()返回一个浮点数,但这似乎是两个stock实现之间唯一的区别(对于简单的取整操作,如给定的示例)。在
future.builtins
future.builtins.round()
round()
我本来打算建议您自定义函数的想法,这样您就可以确保它总是做您想要的,但这似乎是一个特殊的(奇怪的)情况,如果我不使用
future.builtin.round()
我会得到Python 3.6:
和Python 2.7:
^{pr2}$似乎只是
future.builtins
被破坏了;在这种情况下,应该避免使用future.builtins.round()
函数。注意,py3round()
返回一个整数,而py2round()
返回一个浮点数,但这似乎是两个stock实现之间唯一的区别(对于简单的取整操作,如给定的示例)。在相关问题 更多 >
编程相关推荐