Sugl 发表于 2025-2-13 23:01:28

请教一个问题int

请问一下

int("5.3")

错在哪里了

FishC 发表于 2025-2-13 23:02:38

你尝试将字符串 "5.3" 转换为整数,这是不被允许的,因为 "5.3" 是一个浮点数形式的字符串,而不是一个纯整数形式的字符串。

正确的做法是先将其转换为浮点数,再转换为整数:


float_value = float("5.3")
int_value = int(float_value)


这样才能成功将 "5.3" 转换为整数。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。

小甲鱼的二师兄 发表于 2025-2-14 00:37:50

int("5.3") 会报错的原因是这个字符串的内容是小数(包含小数点),而 int() 函数只能转换纯整数字符串。

要正确处理浮点数字符串,可以分两步:

1. 先用 float("5.3") 转为浮点数

2. 再用 int() 取整:int(float("5.3")) 得到结果 5

错误类型是 ValueError,说明输入格式不符合要求。

ydwb 发表于 2025-2-14 07:32:37

int(5.3)

jackz007 发表于 2025-2-14 21:10:33

         int(v) 中的输入参数 v 可以是整数字符串,例如:'-12'、'1012' 等,也可以是浮点数,例如,-1.23、1.012 等等,除此以外,统统会报错。
         所以,你可以先把字符串转化为浮点数,再转换为整型数就不会出错了。
         试试
int(float('5.3'))
页: [1]
查看完整版本: 请教一个问题int