入力中にuitextfieldの2つの番号にコンマを挿入したいのですが、私のコードはうまくいかず、私は間違いがどこにあるのか分かりません。目的Cのテキストフィールドフォーマッタの2つのカンマすべて
アイデア:ユーザータイプが23456789
の場合、入力中に23,45,67,89
にフォーマットしてください。ここで
は私のコードです:
NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init] ;
if([string length]==0)
{
[formatter setGroupingSeparator:@"-"];
[formatter setGroupingSize:4];
[formatter setUsesGroupingSeparator:YES];
[formatter setSecondaryGroupingSize:2];
NSString *num = textField.text ;
num= [num stringByReplacingOccurrencesOfString:@"-" withString:@""];
NSString *str = [formatter stringFromNumber:[NSNumber numberWithDouble:[num doubleValue]]];
textField.text=str;
NSLog(@"%@",str);
return YES;
}
else {
[formatter setGroupingSeparator:@","];
[formatter setGroupingSize:2];
[formatter setUsesGroupingSeparator:YES];
[formatter setSecondaryGroupingSize:2];
NSString *num = textField.text ;
if(![num isEqualToString:@""])
{
num= [num stringByReplacingOccurrencesOfString:@"," withString:@""];
NSString *str = [formatter stringFromNumber:[NSNumber numberWithDouble:[num doubleValue]]];
textField.text=str;
}
//NSLog(@"%@",str);
return YES;
}
私が入力すると、番号は常にこの1,23,44,567
任意のアイデア状挿入コンマの前に3文字を表示しますか?そこsetGroupingSizeのバグだ、とあなたはすぐに問題を解決
[formatter setGroupingSize:2]
へ
[formatter setGroupingSize:1]
を変更する必要があり、それを回避するかのように
この方法はどこですか? 'string'とは何ですか?このコードを含むメソッド全体を表示して、質問を更新してください。 – rmaddy