lu315702820 发表于 2021-9-23 22:48:25

int函数遇到的问题

>>> x=input('number')
number 8.1
>>> int(x)
Traceback (most recent call last):
File "<pyshell#22>", line 1, in <module>
    int(x)
ValueError: invalid literal for int() with base 10: ' 8.1'

8.1是用户侧输入的数值,当我直接用int(8.1)的时候会直接出现去掉小数点后面的整数,但为什么上面的会报错啊,请各位大神讲解下

冬雪雪冬 发表于 2021-9-23 22:52:42

input得到的是字符串,而int不能把字符串形式的浮点数转换为整数,可以:
x=input('number')
int(float(x))

逃兵 发表于 2021-9-23 22:53:49

input 返回字符串
int('8.1')就会报错
所以要先转化为浮点数,再转化为整形
int(float(x))

傻眼貓咪 发表于 2021-9-24 13:20:19

x = input()
y = int(eval(x))
print(y)8.1
8
页: [1]
查看完整版本: int函数遇到的问题