我想格式化一個數字,就像這個「123.123,00」。我正在使用NSNumberFormatter
。 代碼是:NSNumberFormatter在小數點後不加逗號
NSNumberFormatter *numberFormatter = [[NSNumberFormatter alloc] init];
[numberFormatter setGroupingSize:3];
[numberFormatter setGroupingSeparator:@"."];
[numberFormatter setUsesGroupingSeparator:YES];
[numberFormatter setMaximumFractionDigits:12];
NSNumber *num = [NSNumber numberWithDouble:result];
NSString *formattedString = [numberFormatter stringFromNumber:num];
但它似乎沒有工作。它給出了這樣的結果「266.482107256796」。任何想法爲什麼結果不是「266.482,107,256,796」?
我不是關於是否有任何選擇使用內置函數來做到這一點。我搜索了幾個小時。感謝您確認並提供代碼。它正在轉換709.099639039865到709.09,96,39,03,98,65,但它沒有問題。它只需要將增量值從3更改爲4.(NSUInteger i = decimalSeparatorLocation + 4; i + 1 <[s長度]; i + = 4)' – 2012-04-04 07:16:24
@ZakirHyder感謝您的更正。我編輯答案只是因爲答案在各方面都應該是正確的。 – Costique 2012-04-04 08:45:10