Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 检查同一字符的NSString两次_Iphone_Objective C_Uitextfield - Fatal编程技术网

Iphone 检查同一字符的NSString两次

Iphone 检查同一字符的NSString两次,iphone,objective-c,uitextfield,Iphone,Objective C,Uitextfield,我想检查UITextfield以确保它不包含第二个小数点。如何检查NSString的第二个小数点 实际上,我想做的是提供一个uitextfield,并只使用数字键盘,如果用户按1 2 3 4 5 6 7 8 9,它将显示为“$1234567.89”,但是我遇到了将字符串转换为浮点值并舍入结果的问题。。。但是如果我能确保用户不输入2个小数,我也会很好。最好的方法是防止用户输入第二个小数点。使用UITextFieldDelegate方法–textField:ShouldChangeCharacter

我想检查UITextfield以确保它不包含第二个小数点。如何检查NSString的第二个小数点


实际上,我想做的是提供一个uitextfield,并只使用数字键盘,如果用户按1 2 3 4 5 6 7 8 9,它将显示为“$1234567.89”,但是我遇到了将字符串转换为浮点值并舍入结果的问题。。。但是如果我能确保用户不输入2个小数,我也会很好。

最好的方法是防止用户输入第二个小数点。使用UITextFieldDelegate方法–textField:ShouldChangeCharactersRange:replacementString:如下所示

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
    NSCharacterSet *set = [NSCharacterSet characterSetWithCharactersInString:@"."];

    if ([string rangeOfCharacterFromSet:set].location != NSNotFound && [textField.text rangeOfCharacterFromSet:set].location != NSNotFound) {
        return NO;
    }

    return YES;
}
现在,如果用户再次按下小数点,它将不会添加到现有UITextField。

请检查此项,