鱼C论坛

 找回密码
 立即注册
查看: 752|回复: 18

[已解决]为什么...

[复制链接]
发表于 2020-4-10 12:57:42 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
我今天随便输入了一串数(版本3.8.2),为123456789*987654321,结果是121932631112635269,我又输入123456789.0 * 987654321.0,结果却是1.2193263111263526e+17。这明明一个是浮点数,一个是整数,但为什么他们的结果却不同呢?急!
欢迎解答,快点解答!
最佳答案
2020-4-10 13:25:16
本帖最后由 heidern0612 于 2020-4-10 13:26 编辑
陈尚涵 发表于 2020-4-10 13:22
我主要不是说的科学计数法,而是你仔细观察,1后面也有个小数点,咋回事?


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

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

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

保留一位是科学计数法常用的习惯。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-4-10 13:11:15 | 显示全部楼层
我知道科学计数法,各位。主要问题是为什么整数乘整数时,没有小数点,而浮点数相乘,得到的结果却不是整数的结果加上".0",而是由"1."开头。那这是为什么?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-10 13:13:30 | 显示全部楼层
我再说一遍,123456789*987654321的结果是121932631112635269,而123456789(小数点).0*987654321(小数点).0的结果是1(小数点).2193263111263526e+17。这怎么回事?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-10 12:59:26 | 显示全部楼层
没看见后面有个e吗?
那是科学计数法,
具体自己百度
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-10 13:00:18 | 显示全部楼层
1.2193263111263526e+17 是科学计数法
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-10 13:00:22 | 显示全部楼层
我知道那是科学计数法。但是浮点型那有个小数点是怎么回事?不信你用IDLE试试
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

什么小数点?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-10 13:04:26 | 显示全部楼层
结果哪里不同?
你先百度一下科学计数法吧。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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


python 是这样的

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

然后把得数它变成这样子
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-10 13:11:34 | 显示全部楼层
你数字后面有个点有个零,那就不是整型数字而是浮点型了。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-10 13:17:37 | 显示全部楼层
heidern0612 发表于 2020-4-10 13:11
你数字后面有个点有个零,那就不是整型数字而是浮点型了。

不是,除了最后有个"小数点"外,1后面也有一个小数点。这是不是python的bug呢?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

你是指 1.2193263111263526e+17 的小数点?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 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之类的头晕。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-10 13:22:01 | 显示全部楼层
1(小数点).2193263111263526e+17
这个结果只有一个小数点吧,哪里来的最后有个小数点,这个1后面小数点,加上后面的e+17就表示科学计数法
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-10 13:22:02 | 显示全部楼层
heidern0612 发表于 2020-4-10 13:20
...

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

我主要不是说的科学计数法,而是你仔细观察,1后面也有个小数点,咋回事?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-10 13:25:16 | 显示全部楼层    本楼为最佳答案   
本帖最后由 heidern0612 于 2020-4-10 13:26 编辑
陈尚涵 发表于 2020-4-10 13:22
我主要不是说的科学计数法,而是你仔细观察,1后面也有个小数点,咋回事?


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

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

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

保留一位是科学计数法常用的习惯。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-10 13:27:09 From FishC Mobile | 显示全部楼层
陈尚涵 发表于 2020-4-10 13:22
我主要不是说的科学计数法,而是你仔细观察,1后面也有个小数点,咋回事?


在重新百度一下科学计数法吧,比如1.23e2就是123
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-10 13:27:14 | 显示全部楼层
heidern0612 发表于 2020-4-10 13:25
那你想怎么写?1.2345e7跟12345e3是一码事。

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

好像懂一点了...谢谢呀,我在百度再查查资料,设你为最佳答案!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-10 16:39:49 | 显示全部楼层
呵呵
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-5-19 13:43

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表