Python保留指定位數小數的5種方法總結
1 %.2f’ %[變量] 【四舍五入】
可以在print()打印處使用,也可以賦值給新的變量進行輸出
# 四舍五入方法
a = 2.345566
print('%.4f'% a)
# 2.3456
print('%.3f'% a)
# 2.346
print('%.2f'% a)
# 2.35
# 賦值給新的變量
c = '%.2f'% a
print(c)
# 2.352 format函數【四舍五入】
可以在print()打印處使用,也可以賦值給新的變量進行輸出
# 四舍五入方法 a = 2.345566 print(format(a, '.4f')) # 2.3456 print(format(a, '.3f')) # 2.346 # 賦值給新的變量 c = format(a, '.4f') print(c) # 2.3456
3 直接截斷【不進行四舍五入】
3.1 先放大指定倍數,后取整,后再除以指定倍數
1 保留三位小數:先×100,后int,后÷100
a = 2.345566 c = int(a * 100) / 100 print(c) # 2.34
2 保留三位小數:先×1000,后int,后÷1000
a = 2.345566 c = int(a * 1000) / 1000 print(c) # 2.345
3 保留四位小數:先×10000,后int,后÷10000
a = 2.345566 c = int(a * 10000) / 10000 print(c) # 2.3455
3.2 轉為字符串進行字符串截取,截取小數點后指定的位數【不進行四舍五入】【不推薦有點麻煩】
a = 2.345566
# 進行分割
a_0 = str(a).split('.')[0]
a_1 = str(a).split('.')[1]
# 截取小數點后的
a_point = a_1[0:2] # 截取2位
# 字符串連接
a_new = a_0 + '.' + a_point
# 將string類型轉換為float類型
a_new_number = float(a_new)
print(a_new_number)
# 2.344 round()函數【精確的四舍五入,但無法保證相同的小數位數】
round(number, ndigits=None)
返回小數點后四舍五入到ndigits精度的數字。如果ndigits被省略或為None,它將返回與其輸入最近的整數。
注意:round()對于float的行為可能令人驚訝:例如,round(2.675,2)給出的是2.67,而不是預期的2.68。這不是一個錯誤:這是因為大多數十進制分數【decimal fractions】不能精確地表示為浮點值。

5 Numpy數組 np.set_printoptions【四舍五入】
只可以打印處使用,不可以賦值
np.set_printoptions(precision=3, suppress=True, formatter={})
precision:保留幾位小數,后面不會補0
supress:對很大/小的數都不使用科學計數法 (True)
formatter:強制格式化,后面會補0
import numpy as np
a = np.random.random(3)
print('before set precision: \n',a)
np.set_printoptions(precision=3, suppress=True)
print('after set precision: \n',a)
np.set_printoptions(formatter={'float': '{: 0.3f}'.format})
print('after set formatter: \n',a)
# before set options:
# [ 0.05856348 0.5400039 0.70000603]
# after set precision:
# [ 0.059 0.54 0.7]
# after set formatter:【強制補0】
# [ 0.059 0.540 0.700]6 總結
第 1、2、4三種方法可以進行四舍五入,可以對變量賦值
第3種方法不可以進行四舍五入,可以對變量賦值
第5種方法可以進行四舍五入,但不可以賦值
學習鏈接:
到此這篇關于Python保留指定位數小數的5種方法的文章就介紹到這了,更多相關Python保留指定位數小數內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Python?的矩陣傳播機制Broadcasting和矩陣運算
這篇文章主要介紹了Python?的矩陣傳播機制Broadcasting和矩陣運算,文章圍繞主題展開詳細的內容介紹,具有一定的參考價值,需要的小伙伴可以參考一下2022-06-06
Python數據可視化之基于pyecharts實現的地理圖表的繪制
今天給大家?guī)淼氖荘ython的相關知識,文章圍繞著pyecharts繪制地理圖表展開,文中有非常詳細的代碼示例及介紹,需要的朋友可以參考下2021-06-06
python pandas輕松通過特定列的值多條件去篩選數據及contains方法的使用
這篇文章主要介紹了python pandas輕松通過特定列的值多條件去篩選數據及contains方法的使用,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-02-02

