2012-06-19 26 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]; 
}