使用零填充和隐含小数点的方式格式化浮点数

3

有没有一种迷你语言可以像这样格式化?

将浮点数塞入9999^99中,0填充^是隐含的小数点。

我正在做这个。

for x in (450.5, 50.0, 50.0043, 9999.989,0.5):
    print ('{0:06}'.format(round(x,2)).replace('.','')+'000')[0:6]

但是之后感觉有点不爽,所以我进行了更改...

我知道可以分解原来的浮动并重新组合它

for x in (450.5, 50.0, 50.0043, 9999.989,0.5, 4):
    print '{0:04}{1:0<2}'.format(int(x),int(x % 1 * 100))

这并没有让我感觉更好。
我知道自己在做什么,但那只是因为我写过它...

有没有简洁明了的好方法?还是这段代码已经足够清晰了?

1个回答

2
  print "{:06.0f}".format(round(100*x))

@mgilson 要让它工作,你需要在format()的参数周围加上int(),否则你会得到一个ValueError - wnnmaw
@wnnmaw -- 看起来你是正确的。我只是假定它会正常工作,因为 '%d' % 3.14 可以正常工作。 - mgilson

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接