$price = '19.90';  
$totalFee = intval($price * 100);
echo $totalFee; // 最后输出了1989
 
这里的问题在于,$price 是一个字符串。尽管 PHP 在进行数学运算时会尝试自动类型转换,但最好还是首先明确地将它转换为浮点数或整数。此外,直接将 $price 字符串与数值相乘可能导致意外的结果,尤其是在处理浮点数时可能出现精度丢失的问题。
 
解决1
$totalFee = bcmul($price, 100,0);
$refundFee = bcmul($price , 100,0);
 
解决2
$price = '19.90'; 
$totalFee = intval(floatval($price) * 100);

发表评论

邮箱地址不会被公开。 必填项已用*标注