我想测试一个数字是正数还是负数,尤其是在零的情况下。IEEE-754 允许-0.0
,并且它是用 Python 实现的。
我能找到的唯一解决方法是:
def test_sign(x):
return math.copysign(1, x) > 0
也许(可能需要更长的时间才能运行):
def test_sign(x):
math.atan2(x, -1)
我在常用库中的任何地方都找不到专用函数,是我忽略了什么吗?
编辑:(为什么这是相关的)
这不再是我目前的计划,但是当我提出这个问题时,我试图根据参数是正面还是负面来重载一个函数。允许用户传递负零将解决零值输入的歧义。而且我认为这对于其他用例也可能具有普遍意义。