【发布时间】:2015-05-15 12:27:01
【问题描述】:
我正在使用一个 php 脚本,该脚本有一个可以给我一个数字的计算。计算本身是一个黑匣子,我使用一个返回数字的函数来访问它。
所以:
$num = doCalc($some_arguments); //$num now has a non-zero numeric value
现在,我想要基于另一个数字的符号的$num to be positive or negative 的符号。我知道我可以使用“if-else”来做到这一点,但我正在尝试检查没有逻辑分支的最佳方法。
这就是我将 $anotherNum 的符号应用于 $num 的方法:
$anotherNum = -10; //for example...
$num = doCalc($some_arguments); //lets assume $num is 100...
$num = abs($num) * ($anotherNum/abs($anotherNum))
我不确定这是否是正确的方法,或者 PHP 是否具有可以使这变得容易的函数。任何指针,任何人?
谢谢。
【问题讨论】:
-
我喜欢@Spektre 给出的答案,但如果你真的想避免任何类型的比较逻辑,那么我喜欢你的方法。也许您可以通过将除法转换为 ingeger 来缓解精度问题?
$num = abs($num) * (int)($anotherNum/abs($anotherNum))
标签: php algorithm logic negative-number