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