Python不是以正确的方式计算两个简单的值?

时间:2017-02-08 18:56:01

标签: python add

抓住我看起来最简单的东西。

我正在研究一个多项式计算器,并且已经用一些值测试它,但是python没有按照它需要的方式添加这两个值。

?

我得到了这个答案:

ans_2 = (-0.423604188255 + 0.42368554704)
print("Ans 2 = : " + str(ans_2))

但我应该得到这样的答案: = 0.00009

我做错了吗?

3 个答案:

答案 0 :(得分:1)

8.1358785e-05是值.000081358785的科学记数法。打印功能会自动转换为特定值下浮动的科学记数法。

如果您希望打印出您要查找的值,则需要格式化字符串以告诉打印功能您正在查找的内容。你可以这样做

In [11]: ans_2 = (-0.423604188255 + 0.42368554704)

In [12]: print("Ans 2 = : {:.7f} ".format(ans_2))
Ans 2 = : 0.0000814

这将格式化字符串以包含小数点后的七位数。

答案 1 :(得分:0)

值8.1358785e-05只是0.000081358785的另一种表示形式。
每当你看到你的数字中的'e'意味着你的价值乘以10后的数字乘以'e'之后的任何数字。

在你的情况下,它将是: 8.1358785 * 10 ^( - 5)= 0.000081358785

有关详细信息,请查看there

答案 2 :(得分:-1)

可能你忽略了在第一个数字之前有-ve符号。这就是为什么你似乎期望函数返回0.847289735295(操作数的绝对值之和)而不是正确答案(它们根据符号的差异)