如何更正此舍入功能?
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