使用Python四舍五入到最近的0.05

20 投票
9 回答
24187 浏览
提问于 2025-04-16 07:32

我想知道在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)

撰写回答