Python实现四舍五入
今天在CodinGame上碰到了一个要求将浮点数结果四舍五入转为整数的题,写的有些麻烦,现在发现了优化方法,记录一下
Python自带的强制转换和其他语言的并没有什么不同,都是直接舍去小数点后面的数,但四舍五入要求小于0.5的舍去大于等于0.5的进一位。所以单纯的使用int牵制转换不可行
思考后会发现,根据强制转换的特性,如果给被转换的数加上0.5,再进行强制转换,得到的结果刚好符合四舍五入的性质,不过需要注意一下负数是减去0.5
所以四舍五入函数就可以写成
def fun(a):
if a > 0:
return int(a+0.5)
elif a < 0:
return int(a-0.5)