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

qq_花開花謝_0
TA貢獻1835條經驗 獲得超7個贊
('%f' % x).rstrip('0').rstrip('.')
%g
%g

天涯盡頭無女友
TA貢獻1831條經驗 獲得超9個贊
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()
添加回答
舉報
0/150
提交
取消