6
我有我想從去數字:最快的方法四捨五入到最接近的5/100分之
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)
給羽絨服的選民:這個表達是正確的。但是它被低估的事實強調了我爲什麼不喜歡它。爲了自己的利益,這太聰明瞭。 – 2010-12-02 21:59:07
@Marcelo:我認爲我的第一個表達更加自然而且不聰明,但我已經習慣了人們不認爲我這樣做的事實。 – 2010-12-02 22:07:44