PHP로 계산을 아주 간단하게하고 싶지만, 잘못된 답변을 듣습니다.PHP에서 간단한 계산이 잘못됨
내 계산 : 20.66 * 1.21
(= 약 25), PHP는 24.20
을 제공합니다. 1.21
을 2
으로 바 꾸었습니다. 그러면 40
이됩니다 ... PHP가 20.66 x 2 = 40
이라고 말하고 있습니다. 내가 단지 $resultaat
을 울리면 20.66
의 올바른 값을줍니다. (20.66
값을 XML 파일로 가져옴)
"잘못된 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.66이 아닌 20으로 나오길 제안한다. [이 이전 질문] (http://stackoverflow.com/questions/18035163/php-read-decimal-integers-from-xml-attributes)에서와 같은 SimpleXML 문제로 실행될 가능성이 높습니다. 여기서 SimpleXML 객체는 플로팅 값은 자동적으로 계산에 의해'int'에 캐스트됩니다. 아마도 $ resultaat =에 SimpleXML 객체를 할당하는 대신'$ resultaat = (float) $ xml-> Balance;를 시도해보십시오. –
var_dump ($ resultaat); -> 객체 (SimpleXMLElement) # 7 (1) { [0] => 문자열 (5) "20.66는" } – William