㈠ python %f 怎麼指定精度 比我想指定到小數點後兩位
print("%.2f"%(123.456,))
㈡ python怎麼控制小數點位數比如float類型a=1.23456789,我想把a轉化為a=1.2345的形式,這個怎麼轉化呀
可以使用decimal模塊,decimal意思為十進制,這個模塊提供了十進制浮點運算支持。
常用方法
1.可以傳遞給Decimal整型或者字元串參數,但不能是浮點數據,因為浮點數據本身就不準確。
2.要從浮點數據轉換為Decimal類型
from decimal import *
Decimal.from_float(12.222)
# 結果為Decimal('12.')
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',字元串類型
Python提供了decimal模塊用於十進制數學計算,它具有以下特點:
提供十進制數據類型,並且存儲為十進制數序列;
有界精度:用於存儲數字的位數是固定的,可以通過decimal.getcontext().prec=x 來設定,不同的數字可以有不同的精度
浮點:十進制小數點的位置不固定(但位數是固定的)
Python-網路