私のNSNumberFormatterは無限桁の代わりに4桁(つまり2,222ポンド)しか使わないのですか?NSNumberFormatterは4桁しか受け入れることができません
- (BOOL) textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {
NSString *input = [textField.text stringByAppendingString:string];
[textField setText:[self numberFormattedString:input]];
return NO;
}
- (NSString *) numberFormattedString:(NSString *)str {
str = [str stringByReplacingOccurrencesOfString:@"£" withString:@""];
NSNumberFormatter *formatter = [[[NSNumberFormatter alloc] init] autorelease];
[formatter setNumberStyle:NSNumberFormatterCurrencyStyle];
NSLocale *locale = [[NSLocale alloc] initWithLocaleIdentifier:@"en-UK"];
[formatter setLocale:locale];
[locale release];
[formatter setMaximumFractionDigits:3];
[formatter setMinimumFractionDigits:0];
return [formatter stringFromNumber:[NSNumber numberWithFloat:[str floatValue]]];
}
Edit--
私はすでにUITextFieldの内側に4桁の数字を持つ、5桁目を入力すると、テキストフィールドのテキストはバックだけで入力された5桁目にリセットされます。
例えば
私はUITextFieldのに1000年に入り、私はその後、5通り5の更なる数字を入力すると、5桁目で、UITextFieldのテキストだけでは5桁目にリセットされます。 UITextFieldに '5'が表示されます。
TIA。
XcodeDev
入力番号、予想される出力、実際の出力の具体例を挙げることができますか? NSNumberFormatterが通貨スタイルに設定されているため、私はあなたが何を期待しているかを正確に理解していません。 – UIAdam
最新情報をチェックしてください! –