Формат на числа с PHP

vankata

Registered
Здравейте,
правя калкулации с PHP и като тотал ми излиза число 18.71338 или 15.02776
използвайки number_format ми ги закръгля сумите тоест става 18.72 или 15.03 лв. Как да запазя сумата без да ми ги закръгля със стотинка отгоре? :lol: от 18.71338 да стане 18.71 и от 15.02776 да стане 15.02
6c571d1da4f53239.jpg

трябват ми само първите 2 числа след точката, как да махна другите?
 
За пари ли става въпрос или за обикновено форматиране на числа. Ако е за пари си използвай number_format или money_format и остави закръглянето, иначе сметките няма да са ти точни.

Друг вариант е от крайния резултат да вадиш 0.01.

Трети вариант е този на потребител от форума на bgdev.

ici каза:
http://ideone.com/Lg78Ev

И по-точно т.2 от примера.
 
Чичо Гугъл казва така:
PHP:
$number = 1.95687;
$number_floored = floor($number*100)/100;
echo $number_floored; //1.95

или

PHP:
function numberFormatPrecision($number, $precision = 2, $separator = '.')
{
    $numberParts = explode($separator, $number);
    $response = $numberParts[0];
    if(count($numberParts)>1){
        $response .= $separator;
        $response .= substr($numberParts[1], 0, $precision);
    }
    return $response;
}

// numbers test
numberFormatPrecision(19, 2, '.'); // expected 19 return 19
numberFormatPrecision(19.1, 2, '.'); //expected 19.1 return 19.1
numberFormatPrecision(19.123456, 2, '.'); //expected 19.12 return 19.12

// negative numbers test
numberFormatPrecision(-19, 2, '.'); // expected -19 return -19
numberFormatPrecision(-19.1, 2, '.'); //expected -19.1 return -19.1
numberFormatPrecision(-19.123456, 2, '.'); //expected -19.12 return -19.12

// precision test
numberFormatPrecision(-19.123456, 4, '.'); //expected -19.1234 return -19.1234

// separator test
numberFormatPrecision('-19,123456', 3, ','); //expected -19,123 return -19,123  -- comma separator
 

Горе