Küsüratlı (float) sayıların yuvarlanması işlemleri (genellikle) programlama dillerinde yer alan hazır yuvarlama fonksiyonları ile gerçekleştirilir. Yuvarlama işlemleri genellikle üç farklı şekilde gerekebilmektedir:
- Küsüratlı sayıyı yakın olduğu tamsayıya yuvarlamak
- Küsüratlı sayıyı alt tamsayıya yuvarlamak
- Küsüratlı sayıyı üst tamsayıya yuvarlamak
PHP ile bu yuvarlama işlemleri round fonksiyonu ile yapılabilmektedir. round fonksiyonu 3 parametre alarak üstte yer alan yuvarlama seçeneklerinden daha fazlasını sunabilir.
round(float $değer , int $digit = 0 , int $mod = PHP_ROUND_HALF_UP)
- ilk parametre olan $değer parametresi, bizim yuvarlama işlemlerimizi yapmak istediğimiz parametredir.
- İkinci parametre olan $digit parametresi (default değeri sıfırdır), kaç digit olarak yuvarlamak istediğimizi seçebildiğimiz değerdir
- Üçüncü parametre olan $mod seçeneği ise aşağıdaki değerlerden birisini alabilmektedir:
PHP_ROUND_HALF_UP: Sayı doğrusunda sıfır değerinden uzak olan tarafa doğru yuvarlama yapar (5.5 değeri 6 olur; -5.5 ise -6 olur)
PHP_ROUND_HALF_DOWN: Sayı doğrusunda sıfır değerine yakın olan tarafa doğru yuvarlama yapar (5.5 değeri 5 olur; -5.5 ise -5 olur)
PHP_ROUND_HALF_EVEN: En yakın çift sayıya yuvarlama yapar (5.5 ve 6.5 sayıları için 6 sonucunu verir)
PHP_ROUND_HALF_ODD: En yakın tek sayıya yuvarlama yapar (5.5 için 5; 6.5 için 7 sonucunu verir)
Not: round() fonksiyonu float veri tipinde bir sonuç döndürür.
Örnekler:
<?php
$a = 5.546465;
echo round($a); //6
echo '<br>';
echo round($a,1); //5.5
echo '<br>';
echo round($a,2); //5.55
echo '<br>';
echo round(5.6,0,PHP_ROUND_HALF_UP); //6
echo '<br>';
echo round(5.3,0,PHP_ROUND_HALF_DOWN); //5
?>
PHP konusunda paylaştığım benzer yazılar:
bkz: PHP'de float değişkeninin maximum değeri nedir ve nasıl bulunur?
bkz: PHP'de integer değişkeninin maximum değeri nedir ve nasıl bulunur?
bkz: PHP'de string'i int'e çevirmek ve matematiksel işlem yapmak
bkz: PHP'de Veri Tipleri
bkz: PHP'de Mantıksal Operatörlerin Kullanımı ve Örnekler
bkz: PHP'de büyüklük küçüklük karşılaştırmaları yapmak ve operatörlerini kullanmak