2012-06-19 11 views
7

Me gustaría convertir los números a la forma más corta usando NSNumberFormatter.NSNumberFormatter de 13000 a 13K

Por ejemplo: De 23000 a obtener 23K.

¿Cómo puedo hacerlo usando NSNumberFormatter?

Sé que es posible hacer cálculos por mi cuenta, pero en mi caso no es el camino correcto.

+0

¿Desea que 23340 se convierta también en 23k o no? – Lolloz89

+0

@ Lolloz89 estaba a punto de preguntar lo mismo. Y 23850? ¿Debería ser 23k o 24k? – Novarg

+0

El punto es que el sufijo "k" no se reconoce como un patrón estándar e internacional. De todos modos, creo que si quieres usar este patrón es porque no quieres ser tan preciso al representar un valor, así que supongo que 23890 -> 23k. Escribiré una respuesta para hacer esto sin usar NSNumberFormatter. – Lolloz89

Respuesta

4

El sufijo 'K' no está reconocido como estándar, por lo que no puede hacer esto usando NSNumberFormatter. de todos modos esta es una manera simple de hacerlo.

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