CurrencyFormatter sınıfı, sayısal değerleri belli bir yerel ayarın kurallarına göre para birimi dizeleri ve biçimlendirilmiş sayılar içeren dizelere biçimlendirir.
Yeni bir CurrencyFormatter nesnesi somutlaştırdığınızda, para birimini geçerli yerel ayarın varsayılan para birimine ayarlar.
Aşağıdaki örnekte, Almanca yerel ayarları kullanılarak oluşturulmuş bir CurrencyFormatter nesnesinin, para birimi tutarlarını Euro cinsinden kabul ettiği gösterilmektedir:
var cf:CurrencyFormatter = new CurrencyFormatter( "de-DE" );
trace(cf.format(1234567.89)); // 1.234.567,89 EUR
Çoğu durumda, bir yerel ayarın varsayılan para birimine bağlı kalmamalısınız. Kullanıcının varsayılan yerel ayarı desteklenmiyorsa, CurrencyFormatter sınıfı yedek bir yerel ayar atar. Yedek yerel ayarın varsayılan para birimi farklı olabilir. Bunun yanında, tutarlar kullanıcının yerel para biriminde olmasa bile, normal olarak para birimi biçimlerinin kullanıcınıza doğru görünmesini istersiniz. Örneğin, Kanadalı bir kullanıcı bir Alman şirketinin fiyatlarını Euro cinsinden, ancak Kanadalı tarzda biçimlendirilmiş halde görmek isteyebilir.
CurrencyFormatter.setCurrency() yöntemi kullanılacak tam para birimi dizesini ve para birimini belirtir.
Aşağıdaki örnekte para birimi tutarları Kanada’nın Fransız kısmındaki kullanıcılara Euro cinsinden gösterilmektedir:
var cf:CurrencyFormatter = new CurrencyFormatter( "fr-CA" );
cf.setCurrency("EUR", "€");
trace(cf.format(1234567.89)); // 1.234.567,89 EUR
Kesin para birimi sembolleri belirleyerek kafa karışıklığını önlemek için setCurrency() yöntemi de kullanılabilir. Örneğin:
cf.setCurrency("USD","US$");
format() yöntemi para birimi sembolü yerine varsayılan olarak üç karakterli ISO 4217 para birimi kodunu gösterir. ISO 4217 kodları açıktır ve yerelleştirilmeleri gerekmez. Ancak, çoğu kullanıcı ISO kodları yerine para birimi sembollerini görmeyi tercih etmektedir.
CurrencyFormatter sınıfı, biçimlendirilmiş bir para birimi dizesinin hangi sembolü kullanacağına karar vermenize yardımcı olabilir: dolar işareti veya Euro işareti gibi bir para birimi sembolü veya USD veya EUR gibi üç karakterli ISO para birimi. Örneğin, Kanada doları miktarı Kanada'daki kullanıcılar için $200 olarak görüntülenebilir. Ancak A.B.D'deki bir kullanıcı için CAD 200 olarak görüntülenebilir. Tutarın para birimi sembolünün, kullanıcının yerel ayarlarına göre belirsiz veya yanlış olup olmadığını belirlemek için formattingWithCurrencySymbolIsSafe() yöntemini kullanın.
Aşağıdaki örnekte, Euro cinsinden bir değer en-US yerel ayarlarına dönüştürülmektedir. Kullanıcının yerel ayarına bağlı olarak, çıktı dizesi ya ISO para birimi kodu ya da para birimi sembolü kullanır.
var cf:CurrencyFormatter = new CurrencyFormatter( "en-CA");
if (cf.formattingWithCurrencySymbolIsSafe("USD"))
{
trace(cf.format(1234567.89, true)); // $1,234,567.89
}
else
{
cf.setCurrency("USD", "$");
trace(cf.format(1234567.89)); // USD1,234,567.89
}