如何更正此舍入功能?
def round_down(num, prec):
uod = round(num, prec)
if uod > num:
return uod - 1/10^prec
return uod
它引发:TypeError:^:'float'和'int'不支持的操作数类型。
如何更正此舍入功能?
def round_down(num, prec):
uod = round(num, prec)
if uod > num:
return uod - 1/10^prec
return uod
它引发:TypeError:^:'float'和'int'不支持的操作数类型。
^
并不意味着你认为它意味着什么。改为使用**
。
该
^
运算符产生其参数的按位 XOR(异或),该参数必须是纯整数或长整数。
此外,正如mgilson 所指出的,在 Python 2.x1/10
中将相等0
,因此您想1.0/10
改用:
def round_down(num, prec):
uod = round(num, prec)
if uod > num:
return uod - 1.0/10 ** prec
return uod