【发布时间】:2015-06-17 16:26:08
【问题描述】:
我想要一个将浮点数格式化为可变长度精度的函数。例如,如果我传入 n=2,我期望精度为 1.67;如果我传入n=5,我会期待1.66667。
我目前有以下内容,但我觉得有一种更简单的方法可以做到这一点。有吗?
def my_precision(x, n):
fmt = '{:.%df}' % n
return fmt.format(x)
【问题讨论】:
-
对我来说,您似乎已经回答了自己的问题。你在那里写的东西不起作用吗?
-
return '{:.{prec}f}'.format(x, prec=n)稍微整洁一些,但不是很多!将%格式与str.format混合使用似乎很奇怪 - 请注意,您可以使用例如'{{:.{}f}}'.format(n)转义大括号。 -
@DanGetz 我的解决方案有效,但我担心混合两种字符串格式。
标签: python