int()函数只能转化数字组成的字符串,看例子:

>>> a=''
>>> int(a)
123
>>> b='abc'
>>> int(b)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: invalid literal for int() with base 10: 'abc'

另一种把小数转成整数

异常出现的直接原因即是,对于一个浮点数的字符('1.4'),直接使用 int 进行强制类型转换:

>>> int('1.5')
ValueError: invalid literal for int() with base 10: '1.5'
>>> int('1.0')
ValueError: invalid literal for int() with base 10: '1.0'

也即,使用 int 对一个字符类型的数据进行强制类型转换,要求改字符类型只能为整数,不能为浮点数。

所以一种稳妥的做法:

>>> int(float('1.5'))
1

显然,我们不会直接对这样的数据类型进行 int 强转,然而程序的潜在逻辑却令被转换的数据的类型,不那么直,也即我们并不知道它是'1.5'还是1,所以使用 int 对字符进行强转,一定要格外的小心。

再次强调下面的情况:

>>> int('1.0')
ValueError: invalid literal for int() with base 10: '1.0'

最新文章

  1. openssl之rsa
  2. jq 截取字符串
  3. u-boot移植总结(一)start.S分析
  4. c++之路进阶——codevs4543(普通平衡树)
  5. 14、SQL基础整理(存储过程)
  6. dede调用第一张大图,非缩略图
  7. jquery插件开发规范
  8. 【N年前的文章脑补:HttpHandler HttpModule入门篇】
  9. Android学习小Demo(19)利用Loader来实时接收短信
  10. Python爬虫开源项目代码,爬取微信、淘宝、豆瓣、知乎、新浪微博、QQ、去哪网等 代码整理
  11. 使用Dockerfile创建镜像
  12. [午间休息] - 午间codewars活跃脑袋
  13. 删除JavaScript对象中的元素
  14. IntelliJ IDEA(2018)安装详解
  15. Openstack 在VMware虚拟机ESXI和Workstation下安装需要更改参数
  16. RabbitMQ(一):Window安装RabbitMQ
  17. Java操作Excel文件以及在Android中的应用
  18. NIS &amp; Kerberos配置
  19. 洛谷P3809 后缀排序【后缀数组】【模板】
  20. sql server 关于表中只增标识问题

热门文章

  1. Alpha冲刺(2/10)
  2. New Concept English there (3)
  3. The Enginer sample Test for GD temperature control (FCT, ATE, NPI,SMT, )
  4. React之事件处理
  5. Vim技能修炼教程(6) - 行编辑器
  6. IOS开发 基础框架(Fondation Framework)的线程安全
  7. Ubuntu连接手机步骤
  8. grunt实现修改代码实时刷新浏览器
  9. Swift UITextField各种属性的设置
  10. day5 io模型