|
字符串和数字是Python中常见的数据类型,而且在撰写Python程序的时候,也经常会遇到需要将字符串转换为数字的情况,那么Python中如何将字符串变成数字?有多种方法可以使用,接下来一起来看看具体内容介绍。 1、使用int()函数 int()函数可以将字符串转换为整数类型。例如,将字符串"123"转换为整数类型的代码如下: ``` str_num="123" num=int(str_num) print(num) ``` 运行结果为: ``` 123 ``` 需要注意的是,如果字符串中包含非数字字符,则会抛出ValueError异常。例如,将字符串"123abc"转换为整数类型的代码如下: ``` str_num="123abc" num=int(str_num) print(num) ``` 运行结果为: ``` ValueError:invalidliteralforint()withbase10:'123abc' ``` 2、使用float()函数 float()函数可以将字符串转换为浮点数类型。例如,将字符串"3.14"转换为浮点数类型的代码如下: ``` str_num="3.14" num=float(str_num) print(num) ``` 运行结果为: ``` 3.14 ``` 需要注意的是,如果字符串中包含非数字字符,则会抛出ValueError异常。例如,将字符串"3.14abc"转换为浮点数类型的代码如下: ``` str_num="3.14abc" num=float(str_num) print(num) ``` 运行结果为: ``` ValueError:couldnotconvertstringtofloat:'3.14abc' ``` 3、使用eval()函数 eval()函数可以将字符串转换为Python表达式并求值。如果字符串表示一个数字,eval()函数会将其转换为数字类型。例如,字符串"123"转换为数字类型的代码如下: ``` str_num="123" num=eval(str_num) print(num) ``` 运行结果为: ``` 123 ``` 需要注意的是,如果字符串中包含非数字字符,则会抛出SyntaxError异常。例如,将字符串"123abc"转换为数字类型的代码如下: ``` str_num="123abc" num=eval(str_num) print(num) ``` 运行结果为: ``` SyntaxError:invalidsyntax ``` 4、使用isdigit()函数 isdigit()函数可以检查字符串中是否只包含数字字符。如果是,返回True;否则返回False。例如,判断字符串"123"是否是数字的代码如下: ``` str_num="123" ifstr_num.isdigit(): print("是数字") else: print("不是数字") ``` 运行结果为: ``` 是数字 ``` 需要注意的是,如果字符串中包含非数字字符,则返回False。例如,判断字符串"123abc"是否是数字的代码如下: ``` str_num="123abc" ifstr_num.isdigit(): print("是数字") else: print("不是数字") ``` 运行结果为: ``` 不是数字 ``` 5、使用正则表达式提取字符串中的数字 正则表达式可以用来匹配特定的字符串格式。可以使用正则表达式提取字符串中的数字。例如,从字符串"abc123def456"中提取数字的代码如下: ``` importre str_num="abc123def456" pattern=re.compile(r'\d+') nums=pattern.findall(str_num) print(nums) ``` 运行结果为: ``` ['123','456'] ``` 需要注意的是,正则表达式中的"\d"表示数字字符,而"+"表示匹配至少一个数字字符。如果要匹配浮点数,则可以使用"\d+\.\d+"作为正则表达式。
|
|