Python 中浮点字符串转整型的正确方法

Dylan
Dylan
发布时间:2026-10-14| 3人浏览过
原创

本文解析 Python 中将包含小数的字符串转换为整数时常见的 ValueError 错误。通过演示错误代码与修正方案,介绍使用 float() 中转或 eval() 函数的正确转换路径,帮助开发者避免类型转换陷阱。

在 Python 开发中,处理字符串与数值类型的转换是基础操作。

首先,对于纯整数的字符串表示,可以直接传递给 int 函数进行转换。

其次,若需处理浮点数,应将字符串传递给 float 函数。

然而,若尝试直接将包含小数点的浮点型字符串传递给 int 函数,程序将抛出异常。


>>> int('5')
5
>>> float('5.0')
5.0
>>> float('5')
5.0
>>> int(5.0)
5
>>> float(5)
5.0
>>> int('5.0')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: invalid literal for int() with base 10: '5.0'
>>> int(float('5.0'))

以下是解决 Python 字符串浮点型转整型问题的具体方法。

常见的报错信息为:ValueError: invalid literal for int() with base 10

导致错误的典型代码如下:


str_a = '1.5'
int_a = int(str_a)

修正后的正确转换方式如下:


# 修正方式1
str_a = '1.5'
int_a = int(float(str_a))

# 修正方式2
str_a = '1.5'
int_a = int(eval(str_a))

上述错误的根本原因分析。

核心原因在于浮点型字符串无法被 int 函数直接解析为整数类型。

以上总结旨在提供实用的参考,欢迎指正补充。

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。