为什么我不能在 Python 中将括在引号内的浮点值转换为 int 数据类型?

  • 本文关键字:int 转换 数据类型 不能 Python python
  • 更新时间 :
  • 英文 :


谁能解释为什么当我尝试将括在引号内的浮点数据类型转换为整数数据类型时会发生 ValueError?

发生值错误时的示例:

print(int("7.3"))

但是,当我尝试转换如下值时:

print(int(7.3))

尝试将未括在引号内的 7.3 转换为整数数据类型时不会发生错误

因为字符串"7.3"无法解析为整数(由于小数点)。int尝试将它获得的值"强制转换"为整数。对于花车,这意味着将它们地板化;对于字符串,这意味着将它们解析为整数。您提供的字符串不能解析为 int,因为它是文本浮点表示形式。对于浮点数解析,请使用float

ìnt(float("7.3"))将首先将"7.3"解析为浮点数7.3然后通过int进行底7

来自 python docs

将数字或字符串转换为整数,如果没有参数,则返回 0 被给予。 如果 x 是一个数字,则返回x.int()。 对于浮点 数字,这会截断为零。

如果 x 不是数字或给出基数,则 x 必须是字符串, 字节,或字节数组实例,表示整数文本 给定的基数。

但是您提供的是一个字符串,它表示浮点文字而不是整数文字。

要解析表示浮点数到整数的字符串,这应该有效:

int(float("7.3"))

最新更新