我的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)