PHP – zaokrąglanie liczb

Poniżej swoista żółta karteczka dotycząca zaokrąglania liczb w php. W ostatnim czasie chyba wszystko zbyt bardzo zaokrąglam (w tym siebie!).

float round ( float $val [, int $precision = 0 [, int $mode = PHP_ROUND_HALF_UP ]] )

Funkcja zaokrągla liczbę standardowym sposobem, w górę jak jest powyżej 0,5 a dół jak jest poniżej. Przydatna do obliczeń walutowych. Dokumentacja: http://pl1.php.net/manual/en/function.round.php

echo round(1.3);        # 1
echo round(1.5);        # 2
echo round(1.7);        # 2
echo round(1.6, 0);     # 2
echo round(2.95551, 3); # 2.956
echo round(32411, −3);  # 32000
echo round(2.045, 2);   # 2.05
echo round(2.055, 2);   # 2.06
echo round(1.5, 0, PHP_ROUND_HALF_UP);   # 2
echo round(1.5, 0, PHP_ROUND_HALF_DOWN); # 1
echo round(1.5, 0, PHP_ROUND_HALF_EVEN); # 2
echo round(1.5, 0, PHP_ROUND_HALF_ODD);  # 1

float ceil ( float $value )

Zawsze zaokrąglenie liczby w górę, szczególnie przydatna przy tworzeniu skryptów paginacji stron. Dokumentacja: http://pl1.php.net/function.ceil

echo ceil(3.3);    # 4
echo ceil(9.999);  # 10
echo ceil(−3.14);  # −3

float floor ( float $value )

Zawsze zaokrąglenie liczny w dół, również przydatne przy skryptach paginacji. Dokumentacja: http://pl1.php.net/function.floor

echo floor(3.3);    // 3
echo floor(9.999);  // 9
echo floor(−3.14);  // −4

string number_format ( float $number , int $decimals = 0 , string $dec_point = ‚.’ , string $thousands_sep = ‚,’ )

Funkcja która formatuje nam liczbę wg. podanych przez nas standardów. Wykorzystywana do formatowania wartości walutowych. Możemy w niej określić ilość miejsc po przecinku, separator dziesiętnych i separator tysięcznych. Dokumentacja: http://pl1.php.net/function.number-format

$liczba = 1234.56789;
 // format angielski
 $format_angielski = number_format($liczba);
 // 1,235
 // format polski
 $format_polski = number_format($liczba, 2, ',', ' ');
 // 1 234,57
 // format angielski bez spacji pomiędzy tysiącami
 $format_angielski_a = number_format($liczba, 2, '.', '');
 // 1234.57

Kasztelan Paweł

Programista samouk, zakochany w ZF i Laravel, szerzący opinię że PHP + JS + HTML + CSS to są języki w których może zostać stworzona aplikacja równie dobra, a nawet lepsza od twardego klienta.