Python - 除法结果中的重要数字位数

rus*_*uss 3 python format floating-point digits division

新手在这里.我有以下代码:

myADC = 128
maxVoltage = 5.0
maxADC = 255.0
VoltsPerADC = maxVoltage/maxADC
myVolts = myADC * VoltsPerADC
print "myADC = {0: >3}".format(myADC)
print "VoltsPerADC =  {0: >7}".format(VoltsPerADC)
print VoltsPerADC
print "myVolts = {0: >7}".format(myVolts)
print myVolts
Run Code Online (Sandbox Code Playgroud)

这输出如下:

myADC = 128
VoltsPerADC =  0.0196078
0.0196078431373
myVolts =  2.5098
2.50980392157
Run Code Online (Sandbox Code Playgroud)

我一直在寻找有关如何确定有效位数的解释,但是找不到对我有意义的解释.此链接链接文本表明默认情况下,"print"语句将数字打印到10位有效数字,但在我的结果中似乎并非如此.

如何确定有效位数/精度数?

有人可以为我阐明这一点.

提前感谢您的时间和耐心.

Tho*_*ers 6

精度由硬件决定.Python使用硬件浮点数(实际上是双精度数)用于浮点数.其中的含义在教程中讨论:http://docs.python.org/tutorial/floatingpoint.html

如果想要更多地控制精度和舍入,则应考虑使用十进制模块.