我想把a = 1.1234567
这样的浮点数转换成字符串,把精度作为第二个变量(这就是为什么这不是“带f字符串的小数点后的固定数字”的重复):
def float2str(val, precision):
...
float2str(1.1234567, 3) # '1.123'
float2str(1.1234567, 5) # '1.12346' (mind correct rounding)
我知道f字符串可以使用f'{a:.5f}'
进行正确的舍入,但是精度必须是字符串的一部分。你知道吗
我想出了一个非常丑陋的解决方案,希望有人能给我指出一个更优雅的方法:
f'%.{precision}f' % a
你有几个选择,考虑到:
我们可以使用:
f'{a:.{b}f}'
'%.*f' % (b, a)
相关问题 更多 >
编程相关推荐