在Python中格式化浮點(diǎn)數(shù)而不尾隨零如何格式化浮點(diǎn)數(shù),使其不包含尾隨零?換句話說,我希望得到的字符串盡可能短。例如:3 -> "3"3. -> "3"3.0 -> "3"3.1 -> "3.1"3.14 -> "3.14"3.140 -> "3.14"
3 回答

qq_花開花謝_0
TA貢獻(xiàn)1835條經(jīng)驗(yàn) 獲得超7個(gè)贊
('%f' % x).rstrip('0').rstrip('.')
%g
%g

天涯盡頭無女友
TA貢獻(xiàn)1831條經(jīng)驗(yàn) 獲得超9個(gè)贊
from decimal import Decimalprint (Decimal('0.001000').normalize())# Result: 0.001
-更新-
from decimal import Decimaldef format_float(f): d = Decimal(str(f)); return d.quantize(Decimal(1)) if d == d.to_integral() else d.normalize()
添加回答
舉報(bào)
0/150
提交
取消