关于 python2.7 中的 int () 函数

各位观众,大家好,相信大家都知道在python中类型转化是非常方便的,比如int(param)可以把param转成int,float(param)可以转成float,但是我最近遇上了一个问题,在执行int()时报错了,去看了一下原因,原来我的存储格式之前是float(eg:2.0),然后缓存redis时变成了string(eg:”2.0”),然后这个格式不能直接转成int,需要先转float,再转成int,即int(float(param))才可以。
不知道为什么设计成这样,纯数字str转int可不可以自动过滤小数点之后呢?大家支持的顶起来

int
讨论数量: 3
Jason990420

如果你的资料​​是浮点数2.0, 就应该只用float(), 而不是int(), 除非你要再取整数部份.

4年前 评论
Coolest 4年前

个人感觉,浮点数其实很重要的。

4年前 评论
Vimiix

作为语言底层不应该帮你修改应用的逻辑的,我们写代码应该自己清除自己处理的数据是什么类型的,抑或如果有需求,自己实现一个工具函数来处理才是正确的做法,语言层面如果默认把一个 float 的字符串处理为整型,原本的数据就被修改了。如果原本是因为程序员错误的用成了 int(), 系统也没有报错,可想而知这是多大的一个坑。

4年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!