我想用PHP执行一个非常简单的计算,但是,我得到错误的结果。在PHP中错误的简单计算
我的计算:20.66 * 1.21
(=约25),PHP给出:24.20
。我将1.21
更改为2
,即给出40
...所以PHP告诉我,20.66 x 2 = 40
。当我刚刚回显$resultaat
它给出了正确的值20.66
。 (我从XML文件中获取20.66
值)
我在这里和其他地方搜索了“错误的PHP计算”,但无法找到类似的错误。有任何想法吗?
我的代码:
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://URL');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, '25');
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
$content = curl_exec($ch);
curl_close($ch);
$xml = simplexml_load_string($content);
$resultaat = $xml->Balance;
$resultaat2 = $resultaat * 1.21;
$resultaat3 = round($resultaat2, 2);
echo $resultaat3;
你能告诉我们'的var_dump($ resultaat);'? –
24.20/1.21 = 20,确切地说。我建议你从XML文件中读取的值是20,而不是20.66,正如你相信的那样。您可能会遇到与[上一个问题]中相同的SimpleXML问题(http://stackoverflow.com/questions/18035163/php-read-decimal-integers-from-xml-attributes),其中包含浮动的SimpleXML对象值通过计算自动转换为“int”。也许试试'$ resultaat =(float)$ xml-> Balance;'而不是将SimpleXML对象分配给'$ resultaat'。 –
var_dump($ resultaat); - > 对象(的SimpleXMLElement)#7(1){ [0] => 串(5) “20.66” } – William