money_format

(PHP 4 >= 4.3.0, PHP 5, PHP 7)

money_formatBir sayıyı para olarak biçemler

Açıklama

money_format ( string $biçem , float $sayı ) : string

money_format() işlevi belirtilen sayı'nın para olarak biçemlenmiş sürümünü döndürür. Bu gerçeklenimin bir defada sadece bir sayıyı dönüştürmesi dışında C kütüphanesinin strfmon() işlevinin yaptığını yapar.

Değiştirgeler

biçem

Biçem belirtimleri şu dizilimlerden oluşur:

  • % karakteri

  • seçimlik seçenekler

  • seçimlik alan genişlikleri

  • seçimlik sol taraf hassasiyeti

  • seçimlik sağ taraf hassasiyeti

  • gerekli bir dönüşüm karakteri

Seçenekler

Aşağıdaki seçeneklerden bir veya daha fazlası kullanılabilir:

=f

= iminden sonra gelen bir tek baytlık karakter sayısal dolgu karakteri olarak kullanılır. Boşluk, öntanımlı dolgu karakteridir.

^

Geçerli yerelde tanımlı binlik ayracını iptal eder.

+ veya (

Pozitif ve negatif sayılar için biçemleme tarzını belirler. + kullanılmışsa + ve - için yereldeki eşdeğeri kullanılır. ( kullanılmışsa negatif miktarlar yaylı ayraç içine alınır. Hiçbir şey belirtilmemişse + öntanımlıdır.

!

Çıktı dizgesinde para biriminin bulunmamasını sağlar.

-

Belirtilmesi halinde bütün alanlar sola yanaştırılır (sağ tarafa dolgu yapılır). Belirtilmemesi halinde (öntanımlı durum) alanlar sağa yanaştırılır (sol tarafa dolgu yapılır).

Alan genişliği

w

En küçük alan genişliğini belirten onluk bir rakam. - seçeneği belirtilmedikçe alan sağa yanaştırılır. Öntanımlı değer sıfırdır (0).

Sol taraf hassasiyeti

#n

Ondalık ayracın sol tarafındaki hanelerin azami sayısı (n). Normalde sayıları aynı sütun genişliğinde alt alta dizerken belirtilenden daha az genişliğe sahip sayılarda dolgu yapılması için kullanılır. Burada belirtilenden daha geniş sayılara bu belirtim uygulanmaz.

^ seçeneği ile binlik gruplama engellenmemişse eklenen (varsa) dolgu karakterlerinin öncesine binlik ayracı yerleştirilir. Binlik ayracı dolgu karakterlerine, 0 bile olsalar uygulanmaz.

Hizalamak amacıyla pozitif ve negatif biçemlerin genişliklerini eşitlemek için gerekirse, biçemli çıktıdaki sayıdan önceki veya sonraki herhangi bir karaktere kadar (para birimi veya işaret simgesi) boşluk karakteri doldurulur.

Sağ taraf hassasiyeti

.p

Ondalık ayracın sağındaki hane sayısı (p). Eğer p 0 (sıfır) ise, ondalık ayraç ve sağındaki rakamlar yoksayılır. Sağ taraf hassasiyeti olarak hiçbir şey belirtilmemişse geçerli yereldeki kullanılır. Belirtilen genişlikten daha fazla sayıda hane varsa bu haneler biçemleme öncesi yuvarlatılır.

Dönüşüm karakterleri

i

Sayı yerelin uluslararası para birimine göre biçemlenir (örn, en_US yereli için: USD 1,234.56).

n

Sayı yerelin ulusal para birimine göre biçemlenir (örn, de_DE yereli için: DM1.234,56).

%

% karakteri döner.

sayı

Biçemlenecek sayı.

Dönen Değerler

Biçemlenmiş dizge döner. Biçemlenen sayının önündeki veya ardındaki karakterler değişmeden döner. sayı bir sayısal değer değilse işlev NULL döndürür ve bir E_WARNING çıktılar.

Notlar

Bilginize:

money_format() işlevi sadece sistem strfmon yeteneklerine sahipse tanımlıdır. Örneğin Windows'ta money_format() kullanılamaz.

Bilginize:

Yerelin LC_MONETARY sınıfı bu işlevin davranışını etkiler. Bu bakımdan bu işlevi kullanmadan önce uygun bir yereli öntanımlı yerel yapmak için setlocale() işlevini kullanın.

Örnekler

Örnek 1 - money_format() örneği

Bu işlevin neler yapabileceğini göstermek için farklı yereller kullanacağız.

<?php

$number 
1234.56;

// Amerikan yereli için uluslararası biçemi kullanalım
setlocale(LC_MONETARY'en_US');
echo 
money_format('%i'$number) . "\n";
// USD 1,234.56

// 2 ondalık haneli İtalyan ulusal biçemi
setlocale(LC_MONETARY'it_IT');
echo 
money_format('%.2n'$number) . "\n";
// L. 1.234,56

// Negatif sayı kullanımı
$number = -1234.5672;

// Negatif sayılar için () ve sol tarafı 10 hanelik
// Amerikan ulusal biçemi
setlocale(LC_MONETARY'en_US');
echo 
money_format('%(#10n'$number) . "\n";
// ($        1,234.57)

// Yukarıdaki biçeme ek olarak sağ taraf için 2 hane
// ve dolgu karakteri olarak '*' kullanımı;
echo money_format('%=*(#10.2n'$number) . "\n";
// ($********1,234.57)

// Sola hizalı, 14 hane genişlikte, sol taraf hassasiyeti olarak 8,
// sağ taraf hassasiyeti olarak 2 hanelik, binlik ayracı kullanmaksızın
// Alman yereli için uluslararası biçemi kullanarak sayıyı biçemleyelim
setlocale(LC_MONETARY'de_DE');
echo 
money_format('%=*^-14#8.2i'1234.56) . "\n";
// DEM 1234,56****

// Dönüşüm belirtiminin önüne ve ardına bir şeyler ekleyelim
setlocale(LC_MONETARY'en_GB');
$fmt 'Son fiyat %i olur (%%10 indirim sonrası)';
echo 
money_format($fmt1234.56) . "\n";
// Son fiyat GBP 1,234.56 olur (%10 indirim sonrası)

?>

Ayrıca Bakınız