且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

用Python格式化浮点数而不用多余的零

更新时间:2023-10-04 19:44:22

c $ c>('%f'%x).rstrip('0')。rstrip('。') - 保证定点格式化而不是科学记数法等等。不像%g 那么漂亮和优雅,但是它可以工作(并且我不知道如何强制%g 从来没有使用科学记数法; - )。


How to format a float so it does not containt the remaing zeros? In other words, I want the resulting string to be as short as possible..?

Like:

3 -> "3"
3. -> "3"
3.0 -> "3"
3.1 -> "3.1"
3.14 -> "3.14"
3.140 -> "3.14"

Me, I'd do ('%f' % x).rstrip('0').rstrip('.') -- guarantees fixed-point formatting rather than scientific notation, etc etc. Yeah, not as slick and elegant as %g, but, it works (and I don't know how to force %g to never use scientific notation;-).