如何使用php验证十进制变量



我的sql表中有一个产品。该产品的最低订单量为19.2

如果我想添加19,程序允许。

$product_id = intval($_POST['product_id']);
$quantity = $_POST['quantity'];
$color = intval($_POST['szin']);
$MinimumOrder = $_POST['MinimumOrder'];
if($quantity%$MinimumOrder == 0 )
{
$cart->add($product_id, $quantity, array
( 
"price" => $price,
"color" => $color 
)
);
echo 'A termék sikeresen hozzá lett adva a kosárhoz.';
}
else
{
echo 'Ebből a termékből csak egész raklap rendelhető. Egy raklapon  ' . $MinimumOrder . ' ' . $product['mertekegyseg_nev'] .' található.';
}

PHP文档说:

模的操作数在处理前转换为整数(通过剥离小数部分(。有关浮点模,请参见fmod((。

如果你想使用19.2,你必须使用fmod((函数

$MinimumOrder = 19.2;
$quantity = 19;
var_dump($quantity % $MinimumOrder);      // int(0)
var_dump(fmod($quantity, $MinimumOrder)); // int(19)
$quantity = 19.2;
var_dump(fmod($quantity, $MinimumOrder)); // int(0)
$quantity = 38.4;
var_dump(fmod($quantity, $MinimumOrder)); // int(0)
$quantity = 19.3;
var_dump(fmod($quantity, $MinimumOrder)); // int(0.1)
$quantity = 20;
var_dump(fmod($quantity, $MinimumOrder)); // int(0.8)

最新更新