我想改变这个:
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)
是否有可能以及如何做到这一点?
答案 0 :(得分:4)
除了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)