lhf*_*lhf 12
function math.sign(x)
if x<0 then
return -1
elseif x>0 then
return 1
else
return 0
end
end
Run Code Online (Sandbox Code Playgroud)
万一有人偶然发现这个:这是我的某种短版本:
function sign(x)
return x>0 and 1 or x<0 and -1 or 0
end
Run Code Online (Sandbox Code Playgroud)
小智 8
我认为这个想法是返回 1 或 -1 来代表正数或负数。我认为你不希望它返回 0。可能会产生灾难性的影响。想象一下,当值返回 0 时,尝试通过将其乘以符号(x)来更改该值的符号。您无需更改符号,而是将值更改为 0。
我会坚持
function sign(x)
return (x<0 and -1) or 1
end
Run Code Online (Sandbox Code Playgroud)
Nic*_*kis -2
sign你可以这样检查:
i = -2
if i == math.abs(i) then -- or i >= 0
print "positive"
else
print "negative"
end
Run Code Online (Sandbox Code Playgroud)