Python保留指定位數的小數

2021-09-26 22:09:04 字數 1616 閱讀 3814

f =

1.23456

print

('%.4f'

% f)

print

('%.3f'

% f)

print

('%.2f'

% f)

結果:

1.2346

1.235

1.23

這個方法會進行四捨五入

print

(format

(1.23456

,'.2f'))

print

(format

(1.23456

,'.3f'))

print

(format

(1.23456

,'.4f'

))

1.23

1.235

1.2346

這個方法會進行四捨五入

其實這個方法不推薦大家使用,查詢資料發現裡面的坑其實很多,python2和python3裡面的坑還不太一樣,在此簡單描述一下python3對應的坑的情況。

a =

1.23456

b =2.355

c =3.5

d =2.5

print

(round

(a,3))

print

(round

(b,2))

print

(round

(c))

print

(round

(d))

1.235   # 1.23456最終向前進製了

2.35 # 2.355居然沒進製

4 # 最終3.5居然變為4了

2 # 最終2.5取值變為2

(1)通過上面的函式,看著是不是很暈,感覺round(x,n)函式是否進製也沒看出是啥規律

(2)round(x,n)函式中,是否進製或四捨五入,取決於n位以及n+1位小數的值

(3)只有當n+1位數字是5的時候,容易混淆,如果n為偶數,則n+1位數是5,則進製,例如round(1.23456,3)最終變為1.235

(4)如果n為奇數,則n+1位是數5,那不進製,例如round(2.355,2),最終為2.35

(5)如果n為0,即沒有填寫n的時候,最終結果與上面相反,即整數部分為偶數的時候,小數字5不進製,例如(round(2.5)變為2)。

(6)整數部分為奇數的時候,小數字5進製。(round(3.5)變為4)

————————————————

(1)可以放大指定的倍數,然後取整,然後再除以指定的倍數。

#保留三位小數截斷 python3

print

(int

(1.23456

*1000)/

1000

)

(2) 使用字串擷取,擷取小數點後指定的位數

python中小數點後取2位(四捨五入)以及取2位(四捨**入)的方法總結

python除法保留兩位小數點(三種方法實現)

Python工具 保留小數的指定有效位數

處理乙個資料檔案,發現資料不一致,小數點後有三位 四位 六位 更多位。部分還進行四捨五入。需要對資料檔案進行處理。如果有效位超過6位,則四捨五入。如果小於6位,則保持原來的數字不變。考慮兩種情況 小數點後無數字 判斷數字有效位 len str num 1 是否超過6,超過則通過整除去尾,沒有則返回 ...

js精確到指定位數的小數

將數字四捨五入到指定的小數字數。使用math.round 和模板字面量將數字四捨五入為指定的小數字數。省略第二個引數decimals,數字將被四捨五入到乙個整數。const round n,decimals 0 number e e round 3.1415926535897932384626433...

Python小數保留位數及取整

1.int 向下取整 內建函式 n 3.75 print int n 3 n 3.25 print int n 32.round 四捨五入 內建函式 n 3.75 print round n 4 n 3.25 print round n 33.floor 向下取整 math模組函式 import m...