2012-06-19 8 views
7

Tôi muốn chuyển đổi số thành dạng ngắn hơn bằng cách sử dụng NSNumberFormatter.NSNumberFormatter từ 13000 đến 13K

Ví dụ: Từ 23000 đến 23K.

Tôi có thể làm điều đó bằng cách sử dụng NSNumberFormatter?

Tôi biết có thể tự mình tính toán, nhưng trong trường hợp của tôi, đó không phải là cách đi đúng.

+0

Bạn có muốn 23340 cũng trở thành 23k hay không? – Lolloz89

+0

@ Lolloz89 sắp sửa hỏi như vậy. Và 23850? Nên nó là 23k hay 24k? – Novarg

+0

Vấn đề là hậu tố "k" không được công nhận là mẫu chuẩn và quốc tế. Dù sao tôi nghĩ rằng nếu bạn muốn sử dụng mô hình này là bởi vì bạn không muốn được chính xác như vậy trong việc đại diện cho một giá trị, vì vậy tôi đoán 23890 -> 23k. Tôi sẽ viết một câu trả lời để làm điều này mà không cần sử dụng NSNumberFormatter. – Lolloz89

Trả lời

4

Hậu tố 'K' không được công nhận là chuẩn, vì vậy bạn không thể thực hiện việc này bằng NSNumberFormatter. anyway đây là một cách đơn giản để làm điều đó.

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