Flu*_*der 0 rounding python-3.x
我试图将一个数字四舍五入到最接近的十(而不是十分之一)。例如,52 会转到 50,29 会转到 30,325 会转到 330,等等。我该怎么做??
最简单的方法是使用round()。通常人们认为此函数仅适用于小数点后的数字,但使用负数将完成您打算执行的操作,而无需重新创建轮子。
x = round(452.76543, -1)
>>> 450.0
Run Code Online (Sandbox Code Playgroud)
如果小数点让您感到困扰,请在该回合前添加 int 语句 int(round(452.76543, -1))
现在,我知道您已经接受了答案,但请考虑如果您有一个十进制数(比如 512.273)会发生什么。使用 ThunderHorn 的 round_to_10 代码,您将获得:
round_to_10(512.273)
>>> 509.273
Run Code Online (Sandbox Code Playgroud)
哪个不起作用。它应该是 510,但前提是您在输入中没有十进制值。
但是通过使用内置函数,您不仅拥有更少的代码,而且拥有在任何一种情况下都可以运行的健壮且经过良好测试的代码。