2012-06-19 2 views
7

Я хотел бы преобразовать числа в более короткую форму, используя NSNumberFormatter.NSNumberFormatter от 13000 до 13K

Например: От 23000 до 23K.

Как я могу это сделать, используя NSNumberFormatter?

Я знаю, что это можно сделать самостоятельно, но в моем случае это не правильный путь.

+0

Вы хотите, чтобы 23340 тоже стал 23k или нет? – Lolloz89

+0

@ Lolloz89 собирался спросить то же самое. И 23850? Должно ли оно быть 23k или 24k? – Novarg

+0

Дело в том, что суффикс «k» не признается стандартным и международным шаблоном. Во всяком случае, я думаю, что если вы хотите использовать этот шаблон, это потому, что вы не хотите быть настолько точным в представлении значения, поэтому я предполагаю, что 23890 -> 23k. Я напишу ответ, чтобы сделать это, не используя NSNumberFormatter. – Lolloz89

ответ

4

Суффикс 'K' не признается стандартным, поэтому вы не можете это сделать, используя NSNumberFormatter. в любом случае это простой способ сделать это.

-(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]; 
}