我将数字2.50
存储在一个名为的变量$price
中,我可以将其传递给一个函数,它可以识别该值,2.50
但是当我尝试将它与它相乘时,2
我得到了答案4
。我假设 PHP 正在截断原始值,然后我认为它可能会将其解释为字符串,因为我正在从 XML 文档中获取值,但手册说它将正确识别它,就2.50
好像它是一个字符串一样。如果有人能对此有所了解,我将不胜感激。
编辑:这是我正在使用的代码-
$Price = new Prices();
// Traverse XML document
foreach ($simpleXML->product as $product) {
// Gather info from the product array
$price = $product->price;
$type = $product->type;
$price = $Price->getRealPrice($price, $type);
}
function getRealPrice($price, $type) {
// echo $price returns 2.50
// Switch statement on type
case 'Keychain':
return 1.7 * $price; // This returns 3.4
break;
}
返回 3.4 的事实是真正的问题,就好像它正在做2 * 1.7
,即使它应该是2.5
;我选择2.5 * 2
了我原来的例子,因为它更明显地看到了问题。
更新:如果
我与演员表1.8 * $price
呼应,我会得到这个:这两个点有点吓到我了......$price
double
2.503.6