新手来了我有以下代码:

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

这将输出以下内容:
myADC = 128
VoltsPerADC =  0.0196078
0.0196078431373
myVolts =  2.5098
2.50980392157

我一直在寻找有关默认情况下如何确定有效位数的解释,但找不到对我有意义的解释。此链接 link text 表明默认情况下“打印”语句将数字打印为 10 个有效数字,但在我的结果中似乎并非如此。

如何确定有效数字/精度的数量?

有人可以为我解释一下。

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

最佳答案

精度由硬件决定。 Python 使用硬件浮点数(实际上是 double 数)作为其浮点数。教程中讨论了这些含义:http://docs.python.org/tutorial/floatingpoint.html

如果您想要更多地控制精度和舍入,您应该考虑使用 decimal 模块。

关于Python - 除法结果中的有效位数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2559835/

10-11 16:03