所以,当我处理花车时,我已经学会了很多控制精度的方法。
以下是3种不同技术的示例:
somefloat=0.0123456789
print("{0:.10f}".format(somefloat))
print("%.5f" % somefloat)
print(Decimal(somefloat).quantize(Decimal(".01")))
这将打印:
0.0123456789
0.01235
0.01
在上面的所有例子中,精度本身是一个固定值,但我怎么能把精度本身变成一个可能的变量 是由最终用户输入的?
我的意思是,固定的精度值现在在quatations标记内,我似乎找不到在那里添加任何变量的方法。无论如何,还有办法吗?
我在Python 3上。
答案 0 :(得分:1)
使用格式:
somefloat=0.0123456789
precision = 5
print("{0:.{1}f}".format(somefloat, precision))
# 0.01235
使用旧式字符串插值:
print("%.*f" % (precision, somefloat))
# 0.01235
使用小数:
import decimal
D = decimal.Decimal
q = D(10) ** -precision
print(D(somefloat).quantize(q))
# 0.01235