invalid literal for int() with base 10: ‘27.0‘
在Python中,int() 函数用于将字符串或数字转换为整数类型。当你尝试使用 int() 函数将一个浮点数(例如 ‘27.0’)转换为整数时,会遇到错误,因为 int() 函数无法直接处理包含小数点的字符串。
如果你想要将字符串 ‘27.0’ 转换为整数,你可以先使用 float() 函数将其转换为浮点数,然后再转换为整数。这样可以去掉小数部分,只保留整数部分。这里有几种方法可以实现:
方法1:使用 float() 和 int()
s = '27.0'
num = int(float(s))
print(num) # 输出: 27
方法2:使用字符串切片
如果你确定字符串总是以 .0 结尾,你也可以直接通过字符串操作去除小数部分:
s = '27.0'
num = int(s[:-2]) if s.endswith('.0') else int(s)
print(num) # 输出: 27
方法3:使用正则表达式
如果你想要更灵活地处理不同格式的浮点数,可以使用正则表达式来提取整数部分:
import res = '27.0'
num = int(re.search(r'(\d+)', s).group(1))
print(num) # 输出: 27
以上方法可以根据你的具体需求选择使用。通常,第一种方法(使用 float() 和 int())是最简单且最直接的。如果你确定输入总是以 .0 结尾,第二种方法也是一个好选择。第三种方法在处理更复杂的数据格式时非常有用。