次の NSNumberFormatter を使用して、通貨値にコンマと記号を追加しています。
self.currencyFormatter = [NSNumberFormatter new];
self.currencyFormatter.numberStyle = NSNumberFormatterCurrencyStyle;
self.currencyFormatter.currencySymbol = @"£";
self.currencyFormatter.currencyCode = @"GBP";
self.currencyFormatter.roundingMode = NSNumberFormatterRoundHalfUp;
self.currencyFormatter.maximumFractionDigits = 0;
使用法:
self.principleAmountTextField.text = [self.currencyFormatter stringFromNumber:[NSNumber numberWithInteger:100000]];
これにより、予想どおり£100,000が表示されます。テキストフィールドにさらに2桁(テキストは£100,00096になります)を挿入し、文字列を整数に変換しようとすると、0が得られます! 基本的に、次の行は 0 を返します。この問題に対処する方法がわかりません。
NSLog(@"%d", [[self.currencyFormatter numberFromString:@"£100,00096"] integerValue]);
参考までに、テキストフィールドに数値を入力できるようにするテキストフィールドへのカスタムinputviewがあります。Did Edit Endでも、数値をフォーマットしてカンマで表示します。