2014-02-28 2 views
0

나는 MySQL 테이블에 숫자가 0.000102입니다.MySQL의 PHP 이중 숫자 정밀도 합

그러면이 숫자는 0.0000816이되는 .8을 곱하지만 결과는 8.16E-5이됩니다.

function fixRendiconto($valore, $percent = 1){ 
    $valore = str_replace(",", ".", $valore); 
    if($percent == 1 || $valore < 0){ 
     $elabora = ($valore == '') ? '0.00' : (double)str_replace(",", ".", $valore); 
    }else{ 
     $elabora = ($valore == '') ? '0.00' : (double)str_replace(",", ".", $valore); 
     $elabora = $elabora*(double)$percent; 
    } 
    return $elabora; 
} 

fixRendiconto(0.000102, .80); 

가 어떻게 결과 0.0000816 또는 이상 번호를받을 수 있나요 :

내 공식이있다?

답변

1

사람에게 표시되는 것을 제외하고는 모든 용도와 목적으로 8.16E-5은 완벽하게 괜찮습니다 (숫자가 내부적으로 저장되는 방식이 아닙니다.). 당신은 인간의 읽기 수를 표시하는 문자열로 포맷 할 경우

: 다시

number_format($elabora, 7); // 7 is the amount of decimal places 

,이 계산이 불가능하게되는 문자열을 반환합니다 (따라서는 표시 할 수 있어야 만 , 또는 모든 계산 후 등). 더 읽기 : http://pl1.php.net/number_format