-2

私が取り組んでいるこの株式市場計算機を持っているので、ラベルに操作の総利益が表示されます。問題は、出力がで3984.00あり、それがここブラジルでの正しい形式ではないことです3.984,00。では、どうすれば出力を取得できます3984.003.984,00

4

1 に答える 1

1

DrummerBが言ったように、NSNumberFormatterをチェックしてください。

現在のロケールがブラジルであると仮定すると、これらの線に沿って何かを行うことができます。

NSString *output = @"3984.00";

NSNumber *number = [NSNumber numberWithDouble:[output doubleValue]];
NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];
NSString *groupingSeparator = [[NSLocale currentLocale] objectForKey:NSLocaleGroupingSeparator];
[formatter setNumberStyle:NSNumberFormatterDecimalStyle];
[formatter setMinimumFractionDigits:2];
[formatter setMaximumFractionDigits:2];
[formatter setGroupingSeparator:groupingSeparator];
[formatter setGroupingSize:3];
[formatter setAlwaysShowsDecimalSeparator:YES];
[formatter setUsesGroupingSeparator:YES];

NSString *desiredString = [formatter stringFromNumber:number];

編集:minimumFractionDigitsを追加するのを忘れました。

于 2012-10-31T14:41:10.773 に答える