欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python保留指定位數(shù)小數(shù)的5種方法總結(jié)

 更新時(shí)間:2023年08月31日 10:37:15   作者:Threetiff  
很多小伙伴在學(xué)習(xí)python的時(shí)候可能會(huì)遇到對(duì)數(shù)據(jù)進(jìn)行格式化輸出的需求,其中最常見(jiàn)的需求為保留幾位小數(shù),這篇文章主要給大家介紹了關(guān)于Python保留指定位數(shù)小數(shù)的5種方法,需要的朋友可以參考下

1 %.2f’ %[變量] 【四舍五入】

可以在print()打印處使用,也可以賦值給新的變量進(jìn)行輸出

# 四舍五入方法
a = 2.345566
print('%.4f'% a)
# 2.3456
print('%.3f'% a)
# 2.346
print('%.2f'% a)
# 2.35
# 賦值給新的變量
c = '%.2f'% a
print(c)
# 2.35

2 format函數(shù)【四舍五入】

可以在print()打印處使用,也可以賦值給新的變量進(jìn)行輸出

# 四舍五入方法
a = 2.345566
print(format(a, '.4f'))
# 2.3456
print(format(a, '.3f'))
# 2.346
# 賦值給新的變量
c = format(a, '.4f')
print(c)
# 2.3456

3 直接截?cái)唷静贿M(jìn)行四舍五入】

3.1 先放大指定倍數(shù),后取整,后再除以指定倍數(shù)

1 保留三位小數(shù):先×100,后int,后÷100

a = 2.345566
c = int(a * 100) / 100
print(c)
# 2.34

2 保留三位小數(shù):先×1000,后int,后÷1000

a = 2.345566
c = int(a * 1000) / 1000
print(c)
# 2.345

3 保留四位小數(shù):先×10000,后int,后÷10000

a = 2.345566
c = int(a * 10000) / 10000
print(c)
# 2.3455

3.2 轉(zhuǎn)為字符串進(jìn)行字符串截取,截取小數(shù)點(diǎn)后指定的位數(shù)【不進(jìn)行四舍五入】【不推薦有點(diǎn)麻煩】

a = 2.345566
# 進(jìn)行分割
a_0 = str(a).split('.')[0]
a_1 = str(a).split('.')[1]
# 截取小數(shù)點(diǎn)后的
a_point = a_1[0:2] # 截取2位
# 字符串連接
a_new = a_0 + '.' + a_point
# 將string類型轉(zhuǎn)換為float類型
a_new_number = float(a_new)
print(a_new_number)
# 2.34

4 round()函數(shù)【精確的四舍五入,但無(wú)法保證相同的小數(shù)位數(shù)】

round(number, ndigits=None)
返回小數(shù)點(diǎn)后四舍五入到ndigits精度的數(shù)字。如果ndigits被省略或?yàn)镹one,它將返回與其輸入最近的整數(shù)。
注意:round()對(duì)于float的行為可能令人驚訝:例如,round(2.675,2)給出的是2.67,而不是預(yù)期的2.68。這不是一個(gè)錯(cuò)誤:這是因?yàn)榇蠖鄶?shù)十進(jìn)制分?jǐn)?shù)【decimal fractions】不能精確地表示為浮點(diǎn)值。

5 Numpy數(shù)組 np.set_printoptions【四舍五入】

只可以打印處使用,不可以賦值

np.set_printoptions(precision=3, suppress=True, formatter={})
precision:保留幾位小數(shù),后面不會(huì)補(bǔ)0
supress:對(duì)很大/小的數(shù)都不使用科學(xué)計(jì)數(shù)法 (True)
formatter:強(qiáng)制格式化,后面會(huì)補(bǔ)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:【強(qiáng)制補(bǔ)0】
# [ 0.059 0.540 0.700]

6 總結(jié)

第 1、2、4三種方法可以進(jìn)行四舍五入,可以對(duì)變量賦值
第3種方法不可以進(jìn)行四舍五入,可以對(duì)變量賦值
第5種方法可以進(jìn)行四舍五入,但不可以賦值

學(xué)習(xí)鏈接:

到此這篇關(guān)于Python保留指定位數(shù)小數(shù)的5種方法的文章就介紹到這了,更多相關(guān)Python保留指定位數(shù)小數(shù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論