tianyajuanke 发表于 2021-3-22 14:51:08

我想写一个把小数四舍五入的程序,但是老报错,查了很多资料也不知道为什么,求解!!

number = input('请输入一个小数')
fnumber = float(number)
inumber = int(fnumber)
if (float(number)-inumber) >=0.5:
    print(int(number)+1)
else:
    print(inumber)


例如,输入5.32,可以返回一个5, 但是输入5.65 就没办法返回6 ,直接就报错了~
请问这是为什么??

jackz007 发表于 2021-3-22 15:06:48

本帖最后由 jackz007 于 2021-3-22 15:13 编辑

      报错原因是
int(number)
      number 必须是整数形式的字符串或浮点数,不允许是小数形式的字符串。
      int(<浮点数> + 0.5) 就四舍五入取整了。
print(int(float(input('请输入一个小数 : ')) + 0.5))

henkuderen 发表于 2021-3-22 15:07:57

print(int(fnumber)+1)

tianyajuanke 发表于 2021-3-22 15:22:13

jackz007 发表于 2021-3-22 15:06
报错原因是

      number 必须是整数形式的字符串或浮点数,不允许是小数形式的字符串。


谢谢大佬,给跪了~

tianyajuanke 发表于 2021-3-22 15:22:46

henkuderen 发表于 2021-3-22 15:07


谢谢大佬,给跪了!!!orz

Daniel_Zhang 发表于 2021-3-22 15:56:51

tianyajuanke 发表于 2021-3-22 15:22
谢谢大佬,给跪了!!!orz

问题解决了,请前往解决你问题的那个楼层,设置为最佳答案{:10_297:}
页: [1]
查看完整版本: 我想写一个把小数四舍五入的程序,但是老报错,查了很多资料也不知道为什么,求解!!