负数四舍五入的写法应该是怎么样的
while(1):temp = input("输入一个数字")
num = float(temp)
if(num > 0 and num % 1 >= 0.5):
num = int(num) + 1
elif(num < 0 ):
num*= -1
if(num % 1 >= 0.5):
num = int(num) + 1
num*= -1
else:
num*= -1
print(int(num))
这里的方法是,如果是负数,先转换成正数,再算四舍五入的值,再相反数。小白求问。 print(round(3.141592657589793,7))
输出结果3.1415927,也可以是负数。
戳我看详细教程 不是这样写的。最简单是 int(a+1),我这里再想想。 heidern0612 发表于 2018-12-13 17:35
输出结果3.1415927,也可以是负数。
戳我看详细教程
嗯。我还没学到这里,我在想如何通过目前的知识得到。小甲鱼给了一个机智的答案,int(a+0.5) 770686119 发表于 2018-12-14 09:11
嗯。我还没学到这里,我在想如何通过目前的知识得到。小甲鱼给了一个机智的答案,int(a+0.5)
round()佳宇老师教程里面不教的,私下学的。
应该就是学小数里面的。 heidern0612 发表于 2018-12-13 17:35
输出结果3.1415927,也可以是负数。
戳我看详细教程
我试了,print(round(-20.6,0))输出是-21,那这样应该是不满足实际的。应该是-20 770686119 发表于 2018-12-14 09:36
我试了,print(round(-20.6,0))输出是-21,那这样应该是不满足实际的。应该是-20
对,这个受计算机影响不太精确,但是一般是够用了。
你要是想写精确点,就自己写个函数。 while(1):
temp = input("输入一个数字")
num = float(temp)
if(num >= 0):
if num - int(num) >= 0.5:
num = int(num) + 1
print(num)
else:
print(int(num))
else:
if(num - int(num) >= -0.5):
num = int(num) + 1
print(num)
else:
print(int(num)) 还是不对 先给个思路:如果是正数,应该是int(a+0.5),如果是负数,应该是int(a - 0.5) while(1):
temp = input("输入一个数字")
num = float(temp)
if num >= 0:
if num - int(num) >= 0.5:
print('小甲鱼的答案',end ='')
print(int(num + 0.5))
num = int(num) + 1
print('我的答案',end ='')
print(num)
else:
print('小甲鱼的答案',end ='')
print(int(num + 0.5))
print('我的答案',end ='')
print(int(num))
else:
if int(num) - num > 0.5:
print('小甲鱼的答案',end ='')
print(int(num + 0.5))
print('我的答案',end ='')
num = int(num) - 1
print(num)
else:
print('小甲鱼的答案',end ='')
print(int(num + 0.5))
print('我的答案',end ='')
print(int(num))
这样应该没错了
页:
[1]