我想用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