gpt4 book ai didi

python - 四舍五入到最接近的 5/100 的最快方法

转载 作者:太空狗 更新时间:2023-10-29 22:10:04 27 4
gpt4 key购买 nike

我有我想要的数字:

1.215145156155 => 1.2
1.368161685161 => 1.35
1.578414616868 => 1.6

(*注意:百位为零时不要标出。)

执行此操作的最快方法是什么?

这是我现在拥有的,速度不够快:

def rounder(v):
v = str(round(float(v),2))
if len(v) == 3: v = v + str(0)
d0 = int(v[0])#ones
d1 = int(v[2])#tenths
d2 = int(v[3])#hundredths
if d2 <= 4:
return str(d0)+'.'+str(d1)
elif 4 < d2 < 7:
return str(d0)+'.'+str(d1)+str(5)
elif d2 >= 7:
if d1 != 9:
return str(d0)+'.'+str(d1+1)
if d1 == 9:
return str(d0+1)+'.'+str(0)

最佳答案

缩放、圆形、不缩放。

round(20*v)/20

我应该警告你,这种行为可能会让你大吃一惊:

>>> round(20*1.368161685161)/20
1.3500000000000001

四舍五入工作正常,但 IEEE 数字不能准确表示 1.35。 Python 2.7 在这方面更聪明,在打印数字时会选择最简单的表示形式 1.35。实际存储的值在 2.7 和更早版本中是相同的。

关于python - 四舍五入到最接近的 5/100 的最快方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4340322/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com