Python中decimal.Decimal類型和float類型的比較
更新時間:2023年11月07日 09:30:44 作者:飛翔的宮保雞丁
這篇文章主要介紹了Python中decimal.Decimal類型和float類型的比較,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
Python decimal.Decimal和float類型比較
1,class 'decimal.Decimal' 轉(zhuǎn)換成float類型
例如:
四色五入,保留兩位小數(shù) 傳入?yún)?shù)可以為字符串也可以為整數(shù)
num01 = Decimal(2.333).quantize(Decimal('0.00'))此時 num01 類型為 'decimal.Decimal' ,需要轉(zhuǎn)化成float類型在與浮點型作比較;
num01 = float(num01)
2,class 'decimal.Decimal' 轉(zhuǎn)換成strt類型
num01 = str(Decimal(2.333).quantize(Decimal('0.00')))
num02 = str(float(2.33))最后再做比較;
decimal報錯:decimal.InvalidOperation: [<class ‘decimal.ConversionSyntax‘>]
from decimal import *
sum_vol=0
sum_rev=0
sum_gp=0
list2=['5\n457.5\n363.4\n4\n1\n0.5\n-5,847.9', '900\n247.1\n-22.3\n800\n100\n24.7\n26.9']
for xx in list2[:]:
x = xx.split('\n')
x[0] = x[0].replace(',', '')
x[3] = x[3].replace(',', '')
x[4] = x[4].replace(',', '')
# x[6] = x[6].replace(',', '')
sum_vol += Decimal(x[-3])
sum_rev += Decimal(x[-2])
sum_gp += Decimal(x[-1])
print(sum_vol)
print(sum_rev)
print(sum_gp)
運行結(jié)果報錯:

分析
有3個求和,只有sum_gp報錯了,原來是有個逗號
只需加上x[6] = x[6].replace(’,’, ‘’),就不會報錯了
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
基于python的docx模塊處理word和WPS的docx格式文件方式
今天小編就為大家分享一篇基于python的docx模塊處理word和WPS的docx格式文件方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-02-02
淺談Python實現(xiàn)opencv之圖片色素的數(shù)值運算和邏輯運算
今天帶大家來學(xué)習(xí)的是關(guān)于Python的相關(guān)知識,文章圍繞著圖片色素的數(shù)值運算和邏輯運算展開,文中有非常詳細(xì)的的介紹及代碼示例,需要的朋友可以參考下2021-06-06

