[英]Python float to string, precision as variable
我想将a = 1.1234567
类的浮点数转换为字符串,将精度作为第二个变量(这就是为什么这与“带 f 字符串的小数点后固定数字”不重复的原因):
def float2str(val, precision):
...
float2str(1.1234567, 3) # '1.123'
float2str(1.1234567, 5) # '1.12346' (mind correct rounding)
我知道 f-strings 可以使用f'{a:.5f}'
进行正确的舍入,但精度必须是字符串的一部分。
我想出了这个非常丑陋的解决方案,希望有人能指出我更优雅的方式:
f'%.{precision}f' % a
你有几个选择,给定:
a = 1.1234567
b = 3
我们可以使用:
f'{a:.{b}f}'
'%.*f' % (b, a)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.