2009-02-13 30 views
12

'a eşdeğer bir para birimine dönüştürmenin en kolay yolu @ "78000" değerinde bir NSString değerine sahibim. Bunu nasıl bir para birimi biçiminde, yani bir NSString kaldığında $ 78,000 elde edebilirim.NSString'i Cocoa

cevap

21

Numara biçimlendiricisi kullanmanız gerekir. aşağıdaki gibi bu kullanıcıların

// alloc formatter 
NSNumberFormatter *currencyStyle = [[NSNumberFormatter alloc] init]; 

// set options. 
[currencyStyle setFormatterBehavior:NSNumberFormatterBehavior10_4]; 
[currencyStyle setNumberStyle:NSNumberFormatterCurrencyStyle]; 

NSNumber *amount = [NSNumber numberWithInteger:78000]; 

// get formatted string 
NSString* formatted = [currencyStyle stringFromNumber:amount] 

[currencyStyle release]; 
3

ondalık yerel ayarı için doğru formatta tarih/süreleri vb gösterilecek nasıl da Not/sonunda sent kontrol edilebilir:

[currencyStyle setMaximumFractionDigits:0]; 

İşte belgeler var yanıt yukarıda buradan bir numara dönüştürmek ancak edecektir apple

3

gelen bağlantı aslında para birimi biçiminde bir NSString dönüştürmek için kullanılan bir yöntemdir

- (NSString*) formatCurrencyWithString: (NSString *) string 
{ 
    // alloc formatter 
    NSNumberFormatter *currencyStyle = [[NSNumberFormatter alloc] init]; 

    // set options. 
    [currencyStyle setFormatterBehavior:NSNumberFormatterBehavior10_4]; 

    // reset style to no style for converting string to number. 
    [currencyStyle setNumberStyle:NSNumberFormatterNoStyle]; 

    //create number from string 
    NSNumber * balance = [currencyStyle numberFromString:string]; 

    //now set to currency format 
    [currencyStyle setNumberStyle:NSNumberFormatterCurrencyStyle]; 

    // get formatted string 
    NSString* formatted = [currencyStyle stringFromNumber:balance]; 

    //release 
    [currencyStyle release]; 

    //return formatted string 
    return formatted; 
} 
İlgili konular