如果在 UIText 字段中输入的值低于 200,则会生成警报。
如果用户 >
在字段中添加以表示其大于 200,则仍会触发警报。显然我不想要这个,所以我需要一些方法来忽略这个标点符号,甚至更好地忽略所有标点符号
仅默认为数值不是一种选择
if ([_myTextBox.text intValue]< 200){
//alert is fired
}
如果在 UIText 字段中输入的值低于 200,则会生成警报。
如果用户 >
在字段中添加以表示其大于 200,则仍会触发警报。显然我不想要这个,所以我需要一些方法来忽略这个标点符号,甚至更好地忽略所有标点符号
仅默认为数值不是一种选择
if ([_myTextBox.text intValue]< 200){
//alert is fired
}
您的问题是,只要字符串不是从有效的十进制数开始,就会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
}