检测负数
2022-08-30 09:02:09
我想知道是否有任何方法可以检测PHP中的数字是否为负数?
我有以下代码:
$profitloss = $result->date_sold_price - $result->date_bought_price;
我需要找出是否是负面的,如果是,我需要回声说它是。$profitloss
我想知道是否有任何方法可以检测PHP中的数字是否为负数?
我有以下代码:
$profitloss = $result->date_sold_price - $result->date_bought_price;
我需要找出是否是负面的,如果是,我需要回声说它是。$profitloss
if ($profitloss < 0)
{
echo "The profitloss is negative";
}
编辑:我觉得这对代表来说太简单了,所以这里有一些你可能也会发现有用的东西。
在 PHP 中,我们可以使用函数找到整数的绝对值。例如,如果我试图计算出两个数字之间的差异,我可以这样做:abs()
$turnover = 10000;
$overheads = 12500;
$difference = abs($turnover-$overheads);
echo "The Difference is ".$difference;
这将产生 .The Difference is 2500
我相信这就是你一直在寻找的:
class Expression {
protected $expression;
protected $result;
public function __construct($expression) {
$this->expression = $expression;
}
public function evaluate() {
$this->result = eval("return ".$this->expression.";");
return $this;
}
public function getResult() {
return $this->result;
}
}
class NegativeFinder {
protected $expressionObj;
public function __construct(Expression $expressionObj) {
$this->expressionObj = $expressionObj;
}
public function isItNegative() {
$result = $this->expressionObj->evaluate()->getResult();
if($this->hasMinusSign($result)) {
return true;
} else {
return false;
}
}
protected function hasMinusSign($value) {
return (substr(strval($value), 0, 1) == "-");
}
}
用法:
$soldPrice = 1;
$boughtPrice = 2;
$negativeFinderObj = new NegativeFinder(new Expression("$soldPrice - $boughtPrice"));
echo ($negativeFinderObj->isItNegative()) ? "It is negative!" : "It is not negative :(";
但是请注意,eval是一个危险的函数,因此只有在您确实,确实需要找出数字是否为负时才使用它。
:-)