WHat是像这样格式化python十进制的好方法吗?1.00 - > '1'1.20 - > '1.2'1.23 - > '1.23'1.234 - > '1.23'1.2345 - > '1.23'
3 回答

LEATH
TA贡献1936条经验 获得超6个赞
这是一个可以解决问题的函数:
def myformat(x):
return ('%.2f' % x).rstrip('0').rstrip('.')
这是您的示例:
>>> myformat(1.00)
'1'
>>> myformat(1.20)
'1.2'
>>> myformat(1.23)
'1.23'
>>> myformat(1.234)
'1.23'
>>> myformat(1.2345)
'1.23'
编辑:
通过查看其他人的答案和实验,我发现g为您完成了所有剥离工作。所以,
'%.3g' % x
的工作原理也非常出色,与其他人的建议略有不同(使用'{0:.3}'。format()东西)。我猜你选。
添加回答
举报
0/150
提交
取消