Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python string.format中十进制数字的可变数目_Python_Python 3.x - Fatal编程技术网

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,它将截断无意义的数字