陈尚涵 发表于 2020-4-10 12:57:42

为什么...

我今天随便输入了一串数(版本3.8.2),为123456789*987654321,结果是121932631112635269,我又输入123456789.0 * 987654321.0,结果却是1.2193263111263526e+17。这明明一个是浮点数,一个是整数,但为什么他们的结果却不同呢?急!
欢迎解答,快点解答!

陈尚涵 发表于 2020-4-10 13:11:15

我知道科学计数法,各位。主要问题是为什么整数乘整数时,没有小数点,而浮点数相乘,得到的结果却不是整数的结果加上".0",而是由"1."开头。那这是为什么?

陈尚涵 发表于 2020-4-10 13:13:30

我再说一遍,123456789*987654321的结果是121932631112635269,而123456789(小数点).0*987654321(小数点).0的结果是1(小数点).2193263111263526e+17。这怎么回事?

qiuyouzhi 发表于 2020-4-10 12:59:26

没看见后面有个e吗?
那是科学计数法,
具体自己百度

zltzlt 发表于 2020-4-10 13:00:18

1.2193263111263526e+17 是科学计数法

陈尚涵 发表于 2020-4-10 13:00:22

我知道那是科学计数法。但是浮点型那有个小数点是怎么回事?不信你用IDLE试试

zltzlt 发表于 2020-4-10 13:01:00

陈尚涵 发表于 2020-4-10 13:00
我知道那是科学计数法。但是浮点型那有个小数点是怎么回事?不信你用IDLE试试

什么小数点?

Hello. 发表于 2020-4-10 13:04:26

结果哪里不同?
你先百度一下科学计数法吧。。

liuzhengyuan 发表于 2020-4-10 13:05:05

陈尚涵 发表于 2020-4-10 13:00
我知道那是科学计数法。但是浮点型那有个小数点是怎么回事?不信你用IDLE试试

python 是这样的

如果 你的因数加了 .0
他就会认为这是小数乘法

然后把得数它变成这样子

heidern0612 发表于 2020-4-10 13:11:34

你数字后面有个点有个零,那就不是整型数字而是浮点型了。

陈尚涵 发表于 2020-4-10 13:17:37

heidern0612 发表于 2020-4-10 13:11
你数字后面有个点有个零,那就不是整型数字而是浮点型了。

不是,除了最后有个"小数点"外,1后面也有一个小数点。这是不是python的bug呢?

zltzlt 发表于 2020-4-10 13:20:07

陈尚涵 发表于 2020-4-10 13:17
不是,除了最后有个"小数点"外,1后面也有一个小数点。这是不是python的bug呢?

你是指 1.2193263111263526e+17 的小数点?

heidern0612 发表于 2020-4-10 13:20:16

本帖最后由 heidern0612 于 2020-4-10 13:23 编辑

陈尚涵 发表于 2020-4-10 13:17
不是,除了最后有个"小数点"外,1后面也有一个小数点。这是不是python的bug呢?

...

那是因为你算出来的结果太大太长了,python给你自动转换成科学计数法了。

不是bug。

就像你要是想表示1亿怎么表达?

是写成1000000000?还是写成1.0e9?

肯定还是后者显眼,一眼就知道有几个零,不用一个个的去查0.

python也一样,它自己有个阀值,超过大概20多位后,就自动给你算成科学计数法了。

省的你一眼望去16546545645648978945123165465456456489789451231之类的头晕。

疾风怪盗 发表于 2020-4-10 13:22:01

1(小数点).2193263111263526e+17
这个结果只有一个小数点吧,哪里来的最后有个小数点,这个1后面小数点,加上后面的e+17就表示科学计数法

陈尚涵 发表于 2020-4-10 13:22:02

heidern0612 发表于 2020-4-10 13:20
...

那是因为你算出来的结果太大太长了,python给你自动转换成科学计数法了。


我主要不是说的科学计数法,而是你仔细观察,1后面也有个小数点,咋回事?

heidern0612 发表于 2020-4-10 13:25:16

本帖最后由 heidern0612 于 2020-4-10 13:26 编辑

陈尚涵 发表于 2020-4-10 13:22
我主要不是说的科学计数法,而是你仔细观察,1后面也有个小数点,咋回事?

那你想怎么写?1.2345e7跟12345e3是一码事。

请深入了解下科学计数法,一般都是这么计算。。。

既然算的都是10的次幂了,那肯定不能用后者那么计算,而用前者那么算。

保留一位是科学计数法常用的习惯。

hrp 发表于 2020-4-10 13:27:09

陈尚涵 发表于 2020-4-10 13:22
我主要不是说的科学计数法,而是你仔细观察,1后面也有个小数点,咋回事?

在重新百度一下科学计数法吧,比如1.23e2就是123

陈尚涵 发表于 2020-4-10 13:27:14

heidern0612 发表于 2020-4-10 13:25
那你想怎么写?1.2345e7跟12345e3是一码事。

请深入了解下科学计数法,一般都是这么计算。。。


好像懂一点了...谢谢呀,我在百度再查查资料,设你为最佳答案!

8178919 发表于 2020-4-10 16:39:49

呵呵
页: [1]
查看完整版本: 为什么...