鱼C论坛

 找回密码
 立即注册
查看: 2047|回复: 7

[已解决]有个疑惑,str(5e4)是‘50000’,str(0.0005)却是‘5e-4‘

[复制链接]
发表于 2022-6-16 00:10:20 | 显示全部楼层 |阅读模式

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

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

x
看书看到这段,有点疑惑python里这么设置是什么原因呢
最佳答案
2022-6-16 23:31:53
accustem 发表于 2022-6-16 21:47
嗯,是的这个是科学计数法,我是疑惑为什么大于零的数会把科学计数法转换成为数的形式,而小于零的数却会 ...

因为你写的一个是整数一个是小数。Python中整数默认用普通写法,小数位多过N位默认用科学计数法。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-6-16 00:25:08 | 显示全部楼层
本帖最后由 临时号 于 2022-6-16 02:36 编辑

5e4的意思是5*10**4,这是一个科学计数法,你执行str(5e4)的时候肯定要先把科学计数法的结果算出来再转化成字符串
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-6-16 02:27:46 | 显示全部楼层
这个是科学计数法哈,5e4 相当于 5 * 10^4(10 的 4 次方),而 5e-4 相当于 5 * 10^(-4)(10 的 -4 次方)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2022-6-16 09:46:36 | 显示全部楼层
e4可以看作10的四次方,e-4看作10的-4次方
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-6-16 21:43:30 | 显示全部楼层
临时号 发表于 2022-6-16 00:25
5e4的意思是5*10**4,这是一个科学计数法,你执行str(5e4)的时候肯定要先把科学计数法的结果算出来再转化成字 ...

但是为什么小数执行str()的时候却会转成科学计数法呢,这不是应该统一的吗
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-6-16 21:47:16 | 显示全部楼层
小甲鱼 发表于 2022-6-16 02:27
这个是科学计数法哈,5e4 相当于 5 * 10^4(10 的 4 次方),而 5e-4 相当于 5 * 10^(-4)(10 的 -4 次方)

嗯,是的这个是科学计数法,我是疑惑为什么大于零的数会把科学计数法转换成为数的形式,而小于零的数却会反过来。按照一般的做法,不是应该要么都用科学计数法表示,要么都用普通数字的形式表示吗。是正好选用了这种表示的形式呢,还是有什么特别的好处呢。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-6-16 23:31:53 | 显示全部楼层    本楼为最佳答案   
accustem 发表于 2022-6-16 21:47
嗯,是的这个是科学计数法,我是疑惑为什么大于零的数会把科学计数法转换成为数的形式,而小于零的数却会 ...

因为你写的一个是整数一个是小数。Python中整数默认用普通写法,小数位多过N位默认用科学计数法。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-6-20 23:10:21 | 显示全部楼层
hrpzcf 发表于 2022-6-16 23:31
因为你写的一个是整数一个是小数。Python中整数默认用普通写法,小数位多过N位默认用科学计数法。

谢谢,虽然觉得还是没有很了解后面的原因,不过还是感谢您的答案
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-17 20:30

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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