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