2012-06-19 18 views
7

Numaraları NSNumberFormatter kullanarak kısa forma dönüştürmek istiyorum.NSNumberFormatter, 13000 - 13K arası

Örneğin: 23000'den 23K'ye kadar.

NSNumberFormatter'u kullanarak nasıl yapabilirim?

Hesaplamayı tek başıma yapmanın mümkün olduğunu biliyorum, ancak benim durumumda doğru yol değildir.

+0

23340'ın da 23k olmasını istiyor musunuz, istemiyor musunuz? – Lolloz89

+0

@ Lolloz89 aynı şeyi sormak üzereydi. Ve 23850? 23k mı yoksa 24k mı? – Novarg

+0

Buradaki nokta, "k" sonekinin standart ve uluslararası bir desen olarak tanınmamasıdır. Her neyse, eğer bu deseni kullanmak istiyorsanız, bir değeri temsil etmeyi istemediğiniz için, sanırım 23890 -> 23k. NSNumberFormatter kullanmadan bunu yapmak için bir cevap yazacağım. – Lolloz89

cevap

4

'K' soneki standart olarak tanınmadığından, bunu NSNumberFormatter kullanarak yapamazsınız. neyse, bunu yapmak için basit bir yol.

-(NSString *)kFormatForNumber:(int)number{ 
    int result; 
    if(number >= 1000){ 
     result = number/1000; 

     NSString *kValue = [NSString stringWithFormat:@"%dk",result]; 
     return kValue; 
    } 
    return [NSString stringWithFormat:@"%d",number]; 
} 
İlgili konular