我有两个UITextfields-textfield1textfield2

我只是在做两个文本字段的乘法。 textfield2具有固定值,在textfield1中,用户可以自行设置值。

现在,我面临一个问题。如果用户将值设置为0,那么我将显示一条警报消息。

if ([textfield1.text isEqualToString:@"0"])
{
    UIAlertView *alert = [[UIAlertView alloc] initWithTitle:APP_NAME message:@"You can not set Zero." delegate:nil cancelButtonTitle:@"OK" otherButtonTitles: nil];
    [alert show];
}


但是,如果用户设置多个零或十进制零(0.0或0.00),那么我将无法显示警报消息。

最佳答案

不要使用字符串。转换为数字:

double value1 = [textfield1.text doubleValue];
if (value1 == 0.0) {
    // show alert
}


更新:实际上,使用doubleValue并不是一个好主意,因为您希望支持来自世界各地的用户。有些用户可能输入的值为0.5,而另一些用户可能使用的是0,5,依此类推。最好使用NSNumberFormatter将输入的文本转换为数字。

NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];
NSNumber *number = [formatter numberFromString:textfield1.text];
double value1 = [number doubleValue];

07-24 09:26