希望格式化输出以显示非常小的数字..
a= 6500
b= 3600
c=.000900
d= int((b/a)-c)
print d
答案为零,但在 .###### 之后寻找 .###### 数字。
抱歉试试这个
希望格式化输出以显示非常小的数字..
a= 6500
b= 3600
c=.000900
d= int((b/a)-c)
print d
答案为零,但在 .###### 之后寻找 .###### 数字。
抱歉试试这个
看起来您在 python 2.x 中被整数除法所困扰。
>>> a= 6500
>>> b= 3600
>>> c=.000900
>>> from __future__ import division
>>> print b/a - c
0.552946153846
您的计算可能存在两个问题:
如果您使用的是 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)