Python 字符串转换为数字

Python 字符串转换为数字

Python 字符串转换为数字

在编程过程中,经常会涉及到将字符串转换为数字的操作。Python作为一门简单易用的编程语言,提供了多种方法来实现这一转换。本文将详细介绍在Python中如何将字符串转换为数字,包括整数和浮点数。接下来我们将从基础的内置函数开始讲解,然后介绍一些常见的转换情况及解决方法。

内置函数int()和float()

Python提供了内置函数int()float()来实现字符串到整数和浮点数的转换。下面是它们的基本用法:

# 将字符串转换为整数
num_str = "123"
num_int = int(num_str)
print(num_int)

# 将字符串转换为浮点数
num_str = "3.14"
num_float = float(num_str)
print(num_float)
Python

运行结果如下:

123
3.14
Python

异常处理

在实际的开发过程中,我们经常会遇到一些无法正确转换为数字的字符串,比如含有非数字字符的字符串。这时候可以利用异常处理来避免程序崩溃。下面是一个示例:

num_str = "abc"
try:
    num = int(num_str)
    print(num)
except ValueError:
    print("无法转换为整数")
Python

运行结果如下:

无法转换为整数
Python

情况一:含有非数字字符的字符串

有时候我们会遇到字符串中含有非数字字符的情况,比如带有小数点、正负号或者其他特殊符号。这时候可以使用正则表达式来过滤掉非数字字符,然后再进行转换。下面是一个示例:

import re

def str_to_num(num_str):
    num_str = re.sub(r"[^\d.-]", "", num_str)
    try:
        num = float(num_str)
        return num
    except ValueError:
        return None

num_str = "12.34abc"
num = str_to_num(num_str)
print(num)
Python

运行结果如下:

12.34
Python

情况二:科学计数法

另外一种常见的情况是字符串表示的是科学计数法,比如”1.23e+10″。Python中也提供了对科学计数法的支持,可以直接使用float()函数进行转换。下面是一个示例:

num_str = "1.23e+10"
num = float(num_str)
print(num)
Python

运行结果如下:

12300000000.0
Python

情况三:进制转换

有时候字符串表示的是其他进制的数字,比如十六进制或者二进制。Python提供了int()函数来实现不同进制之间的转换,只需要指定第二个参数为对应的进制即可。下面是一个示例:

# 十六进制转换为十进制
num_str = "1A"
num = int(num_str, 16)
print(num)

# 二进制转换为十进制
num_str = "1101"
num = int(num_str, 2)
print(num)
Python

运行结果如下:

26
13
Python

总结

在本文中,我们详细介绍了在Python中将字符串转换为数字的方法,包括使用内置函数int()float(),异常处理,过滤非数字字符,科学计数法转换以及进制转换。通过本文的学习,相信读者已经掌握了处理字符串到数字转换的常用技巧。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册