希望格式化输出以显示非常小的数字..
a= 6500
b= 3600
c=.000900
d= int((b/a)-c)
print d
答案是零,但在。
之后寻找。######数字 抱歉试试这个答案 0 :(得分:0)
看起来你在python 2.x中遇到了整数除法。
>>> a= 6500
>>> b= 3600
>>> c=.000900
>>> from __future__ import division
>>> print b/a - c
0.552946153846
答案 1 :(得分:0)
您的计算可能存在两个问题:
如果您使用的是Python 2,则在两个整数之间使用/
的除法也将始终为整数。这将丢弃计算的小数部分,这可能是意外的。对此的一个解决方法是强制其中一个值为float
值(例如float(b)/a
)。另一种方法是放在文件的顶部from __future__ import division
,它告诉Python使用Python 3语义进行除法(如果结果是精确整数,则只能从整数除法得到一个整数)。
第二个问题似乎是关于格式化浮点值。首先,您似乎只想要值的小数部分(不是整数部分)。通常最好的选择是简单地减去值的整数部分:
d = someFloatingPointValue()
d_frac = d - int(d)
接下来,要获取要输出的字符串(您需要几个小数位,但不是大量的小数位),您可能想要探索Python的字符串格式化操作:
d = someFloatingPointValue()
d_to4decimalPlaces = "{:.4f}".format(d)