PHP geliştirmede, özellikle finansal veriler, yüzdeler veya hassasiyet gerektiren herhangi bir değerle çalışırken, sayıları belirli bir ondalık basamağa biçimlendirmek çok önemli bir görevdir. Bu makale, bunu başarmak için üç etkili PHP fonksiyonunu ele almaktadır: number_format()
, round()
ve sprintf()
, güçlü yönlerini ve kullanım durumlarını vurgulamaktadır.
İçerik Tablosu
- Ondalık Biçimlendirme için
number_format()
Kullanımı - Kesin Yuvarlama için
round()
Kullanımı - Esnek Biçimlendirme için
sprintf()
Kullanımı
Ondalık Biçimlendirme için number_format()
Kullanımı
number_format()
fonksiyonu, PHP’de sayıları biçimlendirmek için en kullanıcı dostu ve yaygın kullanılan yöntemdir. Ondalık basamak sayısını belirtmenize ve ondalık ve binlik ayırıcıları özelleştirmenize olanak tanır. Bu, bölgesel ayarlara veya uygulama gereksinimlerine bağlı olarak sayıları çeşitli formatlarda görüntülemek için idealdir.
Sözdizimi:
number_format(float $number, int $decimals = 0, string $decimal_separator = '.', string $thousands_separator = ','): string
Parametreler:
$number
: Biçimlendirilecek sayısal değer.$decimals
: İstenen ondalık basamak sayısı (varsayılan 0).$decimal_separator
: Ondalık ayırıcı olarak kullanılan karakter (varsayılan ‘.’).$thousands_separator
: Binlik ayırıcı olarak kullanılan karakter (varsayılan ‘,’).
Örnek:
$number = 1234.5678;
// Varsayılan ayırıcılara sahip iki ondalık basamağa biçimlendirme
$formattedNumber = number_format($number, 2);
echo $formattedNumber; // Çıktı: 1,234.57
// Farklı yerel ayarlar için ayırıcılarda özelleştirme
$formattedNumber = number_format($number, 2, ',', '.');
echo $formattedNumber; // Çıktı: 1.234,57
Kesin Yuvarlama için round()
Kullanımı
round()
fonksiyonu, kayan nokta sayılarının belirli bir ondalık basamak sayısına kesin yuvarlamasını sağlar. number_format()
‘ın aksine, ayırıcı eklemez; yalnızca sayısal değeri yuvarlamaya odaklanır. Bu, daha fazla hesaplama veya görüntü biçimlendirmesinden önce sayısal doğruluk çok önemli olduğunda değerli bir araçtır.
Sözdizimi:
round(float $num, int $precision = 0, int $mode = PHP_ROUND_HALF_UP): float
Parametreler:
$num
: Yuvarlanacak sayı.$precision
: Ondalık basamak sayısı (varsayılan 0).$mode
: Yuvarlama modu (varsayılanPHP_ROUND_HALF_UP
, yarım sayıları yukarı yuvarlar). Diğer modlar alternatif yuvarlama davranışları sunar.
Örnek:
$number = 1234.5678;
// İki ondalık basamağa yuvarlama
$roundedNumber = round($number, 2);
echo $roundedNumber; // Çıktı: 1234.57
// Biçimlendirilmiş çıktı için number_format() ile birleştirme
$formattedNumber = number_format(round($number, 2), 2, ',', '.');
echo $formattedNumber; // Çıktı: 1.234,57
Esnek Biçimlendirme için sprintf()
Kullanımı
sprintf()
fonksiyonu, biçim belirticileri aracılığıyla son derece esnek sayı biçimlendirme sunar. Önceki yöntemlerden daha karmaşık olsa da, çıktının görünümü üzerinde kapsamlı kontrol sağlar. Bu, karmaşık biçimlendirme gereksinimleri için veya diğer dize işleme görevleriyle tümleştirme için uygundur.
Sözdizimi:
sprintf(string $format, mixed ...$args): string
Parametreler:
$format
: Belirticiler kullanarak çıktı yapısını tanımlayan bir biçim dizesi.$args
:$format
dizesine göre biçimlendirilecek değerler.
Örnek:
$number = 1234.5678;
// İki ondalık basamağa biçimlendirme
$formattedNumber = sprintf("%.2f", $number);
echo $formattedNumber; // Çıktı: 1234.57
%.2f
belirleyicisi, sayıyı iki ondalık basamağa (.2
) sahip bir kayan nokta sayısı (f
) olarak biçimlendirir. Biçim belirticilerinin ve yeteneklerinin tam listesi için PHP belgelerine bakın.
Sonuç:
PHP, sayıları iki ondalık basamağa biçimlendirmek için birkaç güçlü fonksiyon sunar. number_format()
yaygın senaryolar için basitlik sağlar, round()
kesin yuvarlamayı garantiler ve sprintf()
karmaşık biçimlendirme ihtiyaçları için nihai esnekliği sunar. Belirli gereksinimlerinize ve kodlama tarzınıza en uygun fonksiyonu seçin.