描述:
- (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:
switch只能判断基本数据类型
解决方案2:switch 应该不支持NSString 试试char 如果非要用NSString 就用 if else 如果用if就用isEqualToString: 方法 不能用==
解决方案3:NSString 和 char 根本 就不是同一种东西.. 请将 operator 从NSString 转换 得到 char 再比较
解决方案4:你取operator的utf8看看,看看对应的asci码是不是+-*