在Xcode 5(ios7)中如何测试是否在UITextField中输入了整数或字符串?

时间:2014-08-16 05:31:21

标签: ios nsstring uitextfield

在Xcode 5(ios7)中如何测试是否在UITextField中输入了整数或字符串?例如; 如果用户输入" 2.34",这将是一个有效的条目, 但如果用户输入"。"没有数字或任何小数位数" ...."这将是一个字符串,然后用户将获得一个无效的条目UIAlertView。 在这种情况下,我使用带标点符号的数字键盘,因此句点/小数是用户唯一的非数字选择。 谢谢!

1 个答案:

答案 0 :(得分:0)

我不完全确定你是否想要在 Xcode中真正测试它。我宁愿认为你想在你的iOS应用程序中测试它。如果后者就是这种情况,然后使用strtod(),这是一个标准的C函数,它根据C的符号检查一个字符串是否代表一个有效的浮点数:

const char *s = someTextField.text.UTF8String;
const char *end = s + strlen(s); // _not_ someTextField.text.length because of
                                 // subtleties of Unicode encodings...

char *pEnd;

errno = 0;
double result = strtod(s, &pEnd);

if (end == pEnd && errno == 0) {
    // input was valid, `result` is the result of the conversion
} else {
    // there was an error, either an invalid string was entered,
    // or a conversion resulted in an over- or underflow.
}