Python没有以正确的方式计算两个简单值?

Python没有以正确的方式计算两个简单值?,python,add,Python,Add,这似乎是有史以来最简单的事情 我正在开发一个多项式计算器,并用一些值对它进行了测试,但python并没有按需要的方式添加这两个值 ans_2 = (-0.423604188255 + 0.42368554704) print("Ans 2 = : " + str(ans_2)) 我得到的答案是: Ans 2 = : 8.1358785e-05 但我应该得到这样的答案: =0.00009 有什么我做错了吗?值8.1358785e-05是值.000081358785的科学符号。打印功能会自动转换

这似乎是有史以来最简单的事情

我正在开发一个多项式计算器,并用一些值对它进行了测试,但python并没有按需要的方式添加这两个值

ans_2 = (-0.423604188255 + 0.42368554704)
print("Ans 2 = : " + str(ans_2))
我得到的答案是:

Ans 2 = : 8.1358785e-05
但我应该得到这样的答案: =0.00009


有什么我做错了吗?

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

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

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

值8.1358785e-05只是0.000081358785的另一种表示形式
当你在数字中看到“e”时,意味着你的值乘以“e”之后任何值的10次方

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


要了解更多信息,请看

您意识到8.1358785e-05基本上是0.00009四舍五入的科学符号,对吗?哇,这让我的坏朋友感到尴尬。