python float轉爲decimal

73.2413793103 ======= 73.2414
<type 'float'> ======= <class 'decimal.Decimal'>

當斷言這兩個值相等時,就出錯了html

 

參考連接: https://www.cnblogs.com/xueweihan/p/5207959.htmlpython

 

解決方案:1 轉換爲同一類型spa

 

浮點數轉爲decimal(意思爲十進制,python這個模塊提供了十進制浮點運算支持)code

能夠傳遞給Decimal整型或者字符串參數,但不能是浮點數據,由於浮點數據自己就不許確。htm

 1) 浮點轉Decimalblog

from decimal import * coffeescript

a=7.133333333ip

print type(a)====>floatci

b=Decimal.from_float(a)字符串

print type(b)====>Decimal

a-b<0.00001  ======>True

 

 

簡介

 

decimal意思爲十進制,這個模塊提供了十進制浮點運算支持。

經常使用方法

1.能夠傳遞給Decimal整型或者字符串參數,但不能是浮點數據,由於浮點數據自己就不許確。

2.要從浮點數據轉換爲Decimal類型

from decimal import * Decimal.from_float(12.222) # 結果爲Decimal('12.2219999999999995310417943983338773250579833984375')

3.經過設定有效數字,限定結果樣式:

from decimal import * getcontext().prec = 6 Decimal(1)/Decimal(7) # 結果爲Decimal('0.142857'),六個有效數字

4.四捨五入,保留幾位小數

from decimal import * Decimal('50.5679').quantize(Decimal('0.00')) # 結果爲Decimal('50.57'),結果四捨五入保留了兩位小數

5.Decimal 結果轉化爲string

from decimal import * str(Decimal('3.40').quantize(Decimal('0.0'))) # 結果爲'3.40',字符串類型
相關文章
相關標籤/搜索