使用Python四舍五入到最近的0.05
我想知道在Python中怎么进行以下的四舍五入:
四舍五入到最接近的0.05小数
比如:7.97会变成7.95
6.72会变成6.70
31.06会变成31.05
36.04会变成36.05
5.25保持不变,还是5.25
希望这样说能让你明白。
9 个回答
4
好了,搞定了。
round(VALUE*2.0, 1) / 2.0
祝好
24
def round05(number):
return (round(number * 20) / 20)
或者更一般来说:
def round_to_value(number,roundto):
return (round(number / roundto) * roundto)
唯一的问题是 因为你使用了浮点数,所以你得不到你想要的准确答案:
>>> round_to_value(36.04,0.05)
36.050000000000004
32
在编程中,有时候我们会遇到一些问题,特别是在使用某些工具或库的时候。比如,有人可能在使用某个库时,发现它的功能和自己想要的不太一样。这种情况可能会让人感到困惑,因为我们希望工具能按照我们的想法来工作。
有些时候,解决这个问题的方法就是查看文档,看看这个工具的使用说明。文档通常会告诉你怎么正确使用这个工具,或者它的某些功能是如何工作的。如果文档写得好,通常能帮助我们快速找到答案。
另外,社区的支持也很重要。很多时候,其他开发者可能遇到过类似的问题,他们会在网上分享解决方案或者经验。通过这些讨论,我们可以学到很多东西,也能找到解决问题的新方法。
总之,遇到问题时,不要着急,先查查文档,看看别人是怎么解决的,通常能找到不错的答案。
def round_to(n, precision):
correction = 0.5 if n >= 0 else -0.5
return int( n/precision+correction ) * precision
def round_to_05(n):
return round_to(n, 0.05)