天弈溟 发表于 2023-1-13 17:32:05

为什么输入一个小数后int无法转换成整数,而是直接报错

num = input('输入一个数字::')
x = int(num)
print(x)

为什么输入一个小数后int无法转换成整数,而是直接报错,求助{:10_266:}

isdkz 发表于 2023-1-13 17:35:03

有小数点的字符串是不能通过 int 转成整数的,你可以用 float或 eval

num = input('输入一个数字::')
x = int(float(num))
print(x)

wyhpylc 发表于 2023-1-13 17:49:15

int可转换整数,float是转换成小数(整数也会转成小数),eval是不管什么都能转(好像是的)

coolplaylin 发表于 2023-1-13 18:04:06

本帖最后由 coolplaylin 于 2023-1-13 18:05 编辑

好像str输入的小数不能直接转换成int{:10_277:}
可以这样写
num = input('输入一个数字::')
try:
    x = int(num)
except:
    x = int(float(num))
print(x)

Mike_python小 发表于 2023-1-13 18:23:25

有些有小数点的是不能直接转化为整数的,可以这样写:x = int(float(num))

另外,如果这个回答对你有帮助的话,请设置“最佳答案”!

chinajz 发表于 2023-1-13 19:07:39

num =eval(input('输入一个数字:'))
x = int(num)
print(x)

Mta123456 发表于 2023-1-14 08:34:13

int是将一个数或字符串转换成整数,有小数点的要用float()方法

Mta123456 发表于 2023-1-14 08:34:41

Mike_python小 发表于 2023-1-13 18:23
有些有小数点的是不能直接转化为整数的,可以这样写:

另外,如果这个回答对你有帮助的话,请设置“最佳 ...

你这个代码明显错的啊

Mike_python小 发表于 2023-1-14 09:10:53

Mta123456 发表于 2023-1-14 08:34
你这个代码明显错的啊

你有试过吗
你输入的啥报的错啊,我这里显示正常

chinajz 发表于 2023-1-14 17:44:40

Mike_python小 发表于 2023-1-14 09:10
你有试过吗
你输入的啥报的错啊,我这里显示正常

楼主说的没错,你是用linux什么版本?

Mike_python小 发表于 2023-1-14 17:47:18

chinajz 发表于 2023-1-14 17:44
楼主说的没错,你是用linux什么版本?

我什么时候说我用linux了{:5_94:}

chinajz 发表于 2023-1-14 17:49:00

Mike_python小 发表于 2023-1-14 17:47
我什么时候说我用linux了

哈哈,你的代码没有错,楼主的代码有问题,抱歉。

Mike_python小 发表于 2023-1-14 17:50:25

chinajz 发表于 2023-1-14 17:49
哈哈,你的代码没有错,楼主的代码有问题,抱歉。

有点蒙,你在讽刺我吗

不是Mta123456说我代码有错的吗?你抱啥歉?

wyhpylc 发表于 2023-1-14 18:32:00

如果有用请设置最佳答案!
页: [1]
查看完整版本: 为什么输入一个小数后int无法转换成整数,而是直接报错