2013-06-19 19 views
0

如果在UIText字段中輸入的值低於200,則會生成警報。檢查int值時導致UIText字段中的標點符號錯誤

如果用戶在該字段中添加>以表示其大於200,則警報仍會被觸發。顯然,我不想這樣,所以我需要無視這個標點符號,甚至更好所有標點

違約爲數值的一些方法不僅是一種選擇

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

    //alert is fired 
} 

回答

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 
} 
+0

啊,就是這樣!謝謝你,加上一個解釋爲什麼發生 – JSA986

相關問題