我想格式化浮点数的列表,最多只能输入2位小数。但是,我不想跟踪零,也不想跟踪小数点。大多数Pythonic打印方式*最多*小数位数
因此,举例来说,4.001
=>4
,4.797
=>4.8
,8.992
=>8.99
,13.577
=>13.58
。
简单的解决方案是('%.2f' % f).rstrip('.0')
('%.2f' % f).rstrip('0').rstrip('.')
。但是,这看起来相当丑陋,而且看起来很脆弱。任何更好的解决方案,也许有一些神奇的格式标志?
我错过了点这里,或者怎么样'轮()'函数:HTTP://文档。 python.org/2/2/library/functions.html#round – TerryA 2013-02-21 08:43:00
虽然,我不得不说,我不是一个涉及'round'的解决方案的狂热粉丝,因为我很紧张,我会把'1.1000000000009962'作为一个输出有一天。 – nneonneo 2013-02-21 08:43:57
Aarrgh,它不是重复的!我不想跟随'.0'。另一个问题允许。 – nneonneo 2013-02-21 08:47:00