次のコードを使用して、テキスト フィールドに入力された数値を変換し、USD 通貨を表示するようにフォーマットしています。したがって、$ 記号が表示され、(右から) 3 桁ごとに , が追加されます。テキストフィールドに書式設定されたテキストを設定しています。
- (void)textFieldDidEndEditing:(UITextField *)textField
{
NSString *pureNumbers = [[textField.text componentsSeparatedByCharactersInSet:[[NSCharacterSet decimalDigitCharacterSet] invertedSet]] componentsJoinedByString:@""];
//Convert entered text to NSNumber
NSNumberFormatter * f = [[NSNumberFormatter alloc] init];
[f setNumberStyle:NSNumberFormatterDecimalStyle];
NSNumber * myNumber = [f numberFromString:pureNumbers];
NSString *currencyString = [currencyFormatter internationalCurrencySymbol];
NSString *format = [currencyFormatter positiveFormat];
format = [format stringByReplacingOccurrencesOfString:@"*" withString:currencyString];
// ¤ is a placeholder for the currency symbol
[currencyFormatter setPositiveFormat:format];
NSString *currencyString1 = [currencyFormatter stringFromNumber:myNumber];
NSLog(@"Text is %@",currencyString1);
textField.text = currencyString1;
}
数値フォーマッタを削除して、入力した数値を取り戻すにはどうすればよいですか? 例: テキスト フィールドに 5000 と入力しました。テキスト フィールドで $5,000 にフォーマットされています。ユーザーが入力した元の値であるテキストフィールドから「5000」を取得したい。