Python中的round函数无效
我该怎么把一个函数的结果四舍五入呢?
我在Python中有以下代码:
def round(x,n):
return round(x,n)
我遇到了以下错误:
>>> round(3,98.9898, 2)
Traceback (most recent call last):
File "<pyshell#25>", line 1, in <module>
round(3,98.9898, 2)
TypeError: round() takes exactly 2 arguments (3 given)
我觉得是逗号导致了这个问题。
有什么建议吗……谢谢!
我试过这个:
def round(x,n):
return round(float(x.replace(",", "")),n)
但没有成功。
4 个回答
1
没错,是逗号。在Python中,要创建浮点数(也就是小数),你只需要用点(.)。而逗号有很多其他的用处!
补充一下:你想做什么呢?你的数字是什么?
2
你是怎么得到那个数字的?如果是自动生成的,那它应该是个字符串。在你把这个 number
用作四舍五入的参数时,先用 float(number.replace(',',''))
把它转换一下。
3
有两个问题:
round(3,98.9898, 2)
是你自己输入的代码。把逗号去掉,你的问题就解决了。要不然请告诉我们更多关于你问题的信息。def round(x, n): return round(x, n)
即使你修正了函数的调用,你很可能还是会遇到RuntimeError
,这是因为最大递归深度的问题。把你的函数改个名字,不要叫round
。