如果UIText字段中输入的值小于200,则会生成警报。
如果用户在字段中添加>
以表示其大于200,则仍会触发警报。显然我不想这样,所以我需要某种方式忽略这个标点符号甚至更好的所有标点符号
默认为数值不是一个选项
if ([_myTextBox.text intValue]< 200){
//alert is fired
}
答案 0 :(得分: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
}