计算器,输入的+号无法在switch(operator)中识别

慢跑20 发布于 2015/10/13 19:08
阅读 1K+
收藏 0
- (IBAction)cal {
    NSString *number1 = self.num1.text;
    NSString *number2 = self.num2.text;
    NSString* operator = self.ope.text.;
    int n1 = number1.intValue;
    int n2 = [number2 intValue];
    float result;

    {
    switch(operator){
            case '+':
            result = n1 + n2;
            break;
            case '-':
            result = n1 - n2;
            NSLog(@"result:%d*********",result);
            break;
            case '*':
            result = n1 * n2;
            break;
            case '/':
            result = n1 / n2;
            break;
        }//switch
    } */
    self.result.text = [NSString stringWithFormat:@"%d",result];
    [self.view endEditing:YES];

}

源码下载:http://pan.baidu.com/s/1gdwIaBL

 想做一个只有+-*/功能的简单计算器,输入2个数,1个字符。但是输入的运算符好像不好。text输入的operator 是字符串类型,在switch(operator)中好像识别不出来。即使不用switch,用 if (operator == @"+");也不对。。

加载中
1
dake
dake
NSString 和 char 根本 就不是同一种东西.. 请将 operator 从NSString 转换 得到 char 再比较
0
首席撸肾虚
首席撸肾虚
你取operator的utf8看看,看看对应的asci码是不是+-*
0
Eliyas007
Eliyas007
switch 应该不支持NSString  试试char  如果非要用NSString  就用 if else 如果用if就用isEqualToString: 方法 不能用==
0
OSC_王恒
OSC_王恒
switch只能判断基本数据类型
返回顶部
顶部