我想将数字(整数或浮点数)格式化为具有以下要求的字符串:
n
p
之间)使用n
,开发人员(我)给出的参数,p
除去尾随零的小数。
例如,使用n = 8
:
12.345 -> " 12.345"
12345.67 -> "12345.67"
123456.78 -> "123456.8"
1234567.89 -> " 1234568"
12.3456789 -> "12.34568"
0.33333333 -> "0.333333"
到目前为止,我有这个几乎正常工作:
def fmt(x, n):
ffw = "{:.{}f}".format(x, n)
cln = ffw[:n].rstrip("0").rstrip(".")
return "{:>{}s}".format(cln, n)
它确实有效(除了它没有正确地对数字进行舍入),但它看起来非常复杂,我觉得有一种更简单的方法。我想念某个地方吗?