文字数を10進数の前に4文字、10進数の後に3文字に制限したUITextFieldがあります。私はこれをやりました
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range
replacementString:(NSString *)string{
if (textField == txt_weightKg)
{
NSString *newString = [textField.text stringByReplacingCharactersInRange:range
withString:string];
NSString *expression = @"^([0-9]{1,4}+)?(\\.([0-9]{1,3})?)?$";
NSRegularExpression *regex = [NSRegularExpression
regularExpressionWithPattern:expression
options:NSRegularExpressionCaseInsensitive
error:nil];
NSUInteger numberOfMatches = [regex numberOfMatchesInString:newString
options:0
range:NSMakeRange(0,
[newString length])];
if (numberOfMatches == 0)
return NO;
}
return YES;
}
これは検証を維持するためだけですが、実際に欲しいのは、UITextfield に入力を開始するとすぐに、小数点が数値に自動的に追加されることです。2 番目の条件は、4 桁に達したら、次の桁は小数点以下にする必要があるということです。例えば:-
1 を入力した場合、1. のように見えるはずです。2 桁の場合は 11. これは 4 桁まで続く必要があり、5 桁目を入力するとすぐに、小数点以下の 5 桁目が 1111.1 として配置され、3 まで続きます。小数点以下の桁数。
誰かが私を助けることができれば、それは大歓迎です! 混乱した場合はお気軽にお尋ねください。