0

如果在 UIText 字段中输入的值低于 200,则会生成警报。

如果用户 >在字段中添加以表示其大于 200,则仍会触发警报。显然我不想要这个,所以我需要一些方法来忽略这个标点符号,甚至更好地忽略所有标点符号

仅默认为数值不是一种选择

if  ([_myTextBox.text intValue]< 200){

   //alert is fired
}
4

1 回答 1

1

您的问题是,只要字符串不是从有效的十进制数开始,就会intValue返回 0。正确的方法是使用数字格式化程序:

NSNumberFormatter *formatter = [NSNumberFormatter new];
[formatter setNumberStyle:NSNumberFormatterDecimalStyle];
NSNumber *value = [formatter numberFromString:_myTextBox.text];
// if _myTextBox.text is not a valid number, value will be nil
if (number && ([number intValue] < 200) {
    // Place your code here
}
于 2013-06-19T19:52:29.547 回答