Calculator.m 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. #import "Calculator.h"
  2. @implementation Calculator
  3. //根据不同运算符执行运算
  4. -(NSString *)Execute{
  5. switch (self.exType) {
  6. case 1:
  7. self.result=[self getQuotient];
  8. break;
  9. case 2:
  10. self.result=[self getProduct];
  11. break;
  12. case 3:
  13. self.result=[self getDifference];
  14. break;
  15. case 4:
  16. self.result=[self getSum];
  17. break;
  18. default:
  19. break;
  20. }
  21. self.number1=self.result;
  22. self.number2=nil;
  23. return self.result;
  24. }
  25. //计算和
  26. -(NSString *)getSum{
  27. double num1=[self.number1 doubleValue];
  28. double num2=[self.number2 doubleValue];
  29. return [NSString stringFloatHandle:[NSString stringWithFormat:@"%f",num1+num2]];
  30. }
  31. //计算差
  32. -(NSString *)getDifference{
  33. double num1=[self.number1 doubleValue];
  34. double num2=[self.number2 doubleValue];
  35. return [NSString stringFloatHandle:[NSString stringWithFormat:@"%f",num1-num2]];
  36. }
  37. //计算积
  38. -(NSString *)getProduct{
  39. double num1=[self.number1 doubleValue];
  40. double num2=[self.number2 doubleValue];
  41. return [NSString stringFloatHandle:[NSString stringWithFormat:@"%f",num1*num2]];
  42. }
  43. //计算商
  44. -(NSString *)getQuotient{
  45. double num1=[self.number1 doubleValue];
  46. double num2=[self.number2 doubleValue];
  47. return [NSString stringFloatHandle:[NSString stringWithFormat:@"%f",num1/num2]];
  48. }
  49. //转换正负数
  50. -(NSString *)getPlusMinus:(NSString *)number{
  51. double numberFloat=[number doubleValue];
  52. NSString *returnStr=number;
  53. numberFloat=0-numberFloat;
  54. returnStr=[NSString stringWithFormat:@"%f",numberFloat];
  55. return [NSString stringFloatHandle:returnStr];
  56. }
  57. //清空
  58. -(void)calculatorEmpty{
  59. self.number1=nil;
  60. self.number2=nil;
  61. self.result=nil;
  62. self.exType=0;
  63. }
  64. @end