<?php
$last_percent = 0;
$as = array("110.800002098083", "30", "36.1499996185303", "11", "13", "13.9899997711182", "74.5200042724609", "13.9899997711182");
$t = 304.46000552177;
foreach($as as $a) {
$last_percent += round($a*100/$t, 2);
}
var_dump($last_percent);
$last_percent = 100 - $last_percent;
var_dump($last_percent);
?>
왜 결과는 0.33000000000001입니까? 왜 100과 99에서만 일어날까요? 내가 $ last_percent = 90 - $ last_percent를 사용한다면; 결과는 -9.67입니다.PHP 라운드 미친 버그
부동입니다. 포인트. 수학. – rdlowrey
[모든 컴퓨터 과학자가 부동 소수점 연산에 대해 알아야 할 사항] (http://docs.oracle.com/cd/E19957-01/806-3568/ncg_goldberg.html) – sachleen
http://php.net/manual/ en/language.types.float.php <- 경고가있는 큰 빨간색 상자가 있습니다. 읽어. – hakre