1

結果文字列の 3 桁ごとに単純なコンマを取得するにはどうすればよいですか?

コードは次のとおりです。

float convertFrom = [[_convertRates objectAtIndex:[picker selectedRowInComponent:0]]     floatValue];

float convertTo = [[_convertRates objectAtIndex:[picker selectedRowInComponent:1]] floatValue];

float input = [inputText.text floatValue];
float to = convertTo;
float from = convertFrom;

float convertValue = input;
float relative = to / from;
float result = relative * convertValue;

NSString *convertFromName = [_convertFrom objectAtIndex:[picker selectedRowInComponent:0]];
NSString *convertToName = [_convertFrom objectAtIndex:[picker selectedRowInComponent:1]];



NSString *resultString = [[NSString alloc]initWithFormat:
                          @" %.4f %@",result, convertToName];


resultLabel.text = resultString;

NSString *formelString = [[NSString alloc]initWithFormat:
                          @" %.4f %@=", convertValue, convertFromName];
formelLabel.text = formelString;

このコードは、テキストのブロックに表示される多くの数字を作成しますが、これはデータを使用する最も実用的な方法ではありません。このコードにコンマを実装するにはどうすればよいですか?

たとえば、またはに1234567なります。1 234 5671'234'567

4

1 に答える 1

5

NSNumberFormatterを使用します。

NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];
formatter.numberStyle = NSNumberFormatterDecimalStyle;

NSString *formattedString = [formatter stringFromNumber:someNumberValue];

ここsomeNumberValueで、は番号を持つNSNumberオブジェクトです。

これにより、ユーザーが選択した地域のフォーマットに合わせて数値が適切にフォーマットされます。

必要に応じて、小数点以下の桁数を制御できます。詳細については、ドキュメントを参照しNSNumberFormatterてください。

于 2012-10-22T20:40:45.570 に答える