Python string.format中十进制数字的可变数目
我想改变这一点:Python string.format中十进制数字的可变数目,python,python-3.x,Python,Python 3.x,我想改变这一点: my_number = 3.1415928 if precision == 2: my_string = "{0:.2f}".format(my_number) elif precision == 3: my_string = "{0:.3f}".format(my_number) elif precision == 4: my_string = "{0:.4f}".format(my_number) elif precision == 5:
my_number = 3.1415928
if precision == 2:
my_string = "{0:.2f}".format(my_number)
elif precision == 3:
my_string = "{0:.3f}".format(my_number)
elif precision == 4:
my_string = "{0:.4f}".format(my_number)
elif precision == 5:
my_string = "{0:.5f}".format(my_number)
变成这样:
my_number = 3.1415928
my_string = "{SOMETHING_DEPENDING_ON_PRECISION_HERE}".format(my_number)
有可能吗?如何做到这一点?除了Vaultah的优秀建议之外,您还可以使用splat和旧式格式化来实现这一点
precision = 2
my_num = 3.1415928
my_string = "%0.*f"%(precision,my_num)
Vaultah现在的建议被粉碎了
"{0:0.{prec}f}".format(my_num,prec=precision)
除了Vaultah的优秀建议之外,您还可以使用splat和旧式格式化来完成
precision = 2
my_num = 3.1415928
my_string = "%0.*f"%(precision,my_num)
Vaultah现在的建议被粉碎了
"{0:0.{prec}f}".format(my_num,prec=precision)
如果我需要最小数量的小数怎么办?使用%g,它将截断无意义的数字如果我需要最小数量的小数怎么办?使用%g,它将截断无意义的数字