iOS实现简易的计算器

 更新时间:2022年01月27日 14:50:58   作者:XYQ全哥  
这篇文章主要为大家详细介绍了iOS实现简易的计算器,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了iOS实现简易的计算器的具体代码,供大家参考,具体内容如下

初步接触视图,制作了一个简易的计算器,基本上简单的计算是没有问题的,不是很完美,可能还有一些bug,再接再厉。

//
//  ViewController.m
//  计算器
//
//  Created by ma c on 15/8/25.
//  Copyright (c) 2015年 bjsxt. All rights reserved.
//

#import "ViewController.h"

@interface ViewController ()
@property (weak, nonatomic) IBOutlet UITextField *ResultField;
@property(nonatomic,assign)CGFloat temp;
@property(nonatomic,assign)CGFloat num1;
@property(nonatomic,assign)CGFloat num2;
@property(nonatomic,strong)NSMutableString *string;
@property(nonatomic,strong)NSArray *arr;
@end
@implementation ViewController
- (IBAction)buttonClear:(UIButton *)sender
{
    [_string setString:@""];         //重新开始计算,文本框置空
    self.ResultField.text = _string;
}
- (IBAction)button7:(UIButton *)sender
{
    [_string appendString:@"7"];
    self.ResultField.text = _string;
}
- (IBAction)button8:(UIButton *)sender
{
    [_string appendString:@"8"];
    self.ResultField.text = _string;
}
- (IBAction)button9:(UIButton *)sender
{
    [_string appendString:@"9"];
    self.ResultField.text = _string;
}
- (IBAction)button4:(UIButton *)sender
{
    [_string appendString:@"4"];
    self.ResultField.text = _string;
}
- (IBAction)button5:(UIButton *)sender
{
    [_string appendString:@"5"];
    self.ResultField.text = _string;
}
- (IBAction)button6:(UIButton *)sender
{
    [_string appendString:@"6"];
    self.ResultField.text = _string;
}
- (IBAction)button1:(UIButton *)sender
{
    [_string appendString:@"1"];
    self.ResultField.text = _string;
}
- (IBAction)button3:(UIButton *)sender
{
    [_string appendString:@"3"];
    self.ResultField.text = _string;
}
- (IBAction)button2:(UIButton *)sender
{
    [_string appendString:@"2"];
    self.ResultField.text = _string;
}
- (IBAction)button0:(UIButton *)sender
{
    [_string appendString:@"0"];
    self.ResultField.text = _string;
}

- (IBAction)buttonPoint:(UIButton *)sender
{
    [_string appendString:@"."];
    self.ResultField.text = _string;
}

//触发算数运算事件
- (IBAction)buttonDiv:(UIButton *)sender
{
    [_string appendString:@"/"];
    self.ResultField.text = _string;
}

- (IBAction)buttonMul:(UIButton *)sender
{
    [_string appendString:@"*"];
    self.ResultField.text = _string;
}

- (IBAction)buttonSub:(UIButton *)sender
{
    [_string appendString:@"-"];
    self.ResultField.text = _string;
}

- (IBAction)buttonAdd:(UIButton *)sender
{
    [_string appendString:@"+"];
    self.ResultField.text = _string;
}

//做结果运算操作
- (IBAction)buttonEqual:(UIButton *)sender
{

    for(int i=0; i<[_string length]; i++)
    {

        self.arr = [[NSArray alloc]init];

        //只输入一个数,不做运算
        if([_string length] == 1)
        {
            self.temp = [_string doubleValue];
            break;
        }


        //做加法运算
        if([_string characterAtIndex:i] == '+')
        {
            self.arr = [_string componentsSeparatedByString:@"+"];

            self.num1 = [self.arr[0] doubleValue];
            self.num2 = [self.arr[1] doubleValue];
            self.temp = self.num1 + self.num2;
            break;
        }


        //做减法运算
        if([_string characterAtIndex:(i+1)] == '-')
        {
            self.arr = [_string componentsSeparatedByString:@"-"];

            if([self.arr count] == 2)
            {
                self.num1 = [self.arr[0] doubleValue];
                self.num2 = [self.arr[1] doubleValue];
                self.temp = self.num1 - self.num2;
            }
            else
            {
                self.num1 = [self.arr[1] doubleValue];
                self.num2 = [self.arr[2] doubleValue];
                self.temp = -(self.num1 + self.num2);
            }
            break;
        }


        //做除法运算
        if([_string characterAtIndex:i] == '/')
        {
            self.arr = [_string componentsSeparatedByString:@"/"];
            self.num1 = [self.arr[0] doubleValue];
            self.num2 = [self.arr[1] doubleValue];
            self.temp = self.num1 / self.num2;
            break;
        }

        //做乘法运算
        if([_string characterAtIndex:i] == '*')
        {
            self.arr = [_string componentsSeparatedByString:@"*"];
            self.num1 = [self.arr[0] doubleValue];
            self.num2 = [self.arr[1] doubleValue];
            self.temp = self.num1 * self.num2;
            break;
        }

    }

    //输出结果
    [_string setString:[NSString stringWithFormat:@"%.2f",self.temp]];
    self.ResultField.text = _string;
}

- (void)viewDidLoad {
    [super viewDidLoad];

    //创建一个可变的字符串
    _string = [NSMutableString stringWithCapacity:20];
}

- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

@end

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • iOS NSThread和NSOperation的基本使用详解

    iOS NSThread和NSOperation的基本使用详解

    下面小编就为大家分享一篇iOS NSThread和NSOperation的基本使用详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-01-01
  • 使用Swift代码实现iOS手势解锁、指纹解锁实例详解

    使用Swift代码实现iOS手势解锁、指纹解锁实例详解

    这篇文章主要介绍了使用Swift代码实现iOS手势解锁、指纹解锁的实现过程,非常不错具有参考借鉴价值,感兴趣的朋友一起看看吧
    2016-06-06
  • 简单说说iOS之WKWebView的用法小结

    简单说说iOS之WKWebView的用法小结

    iOS8.0之后我们使用 WebKit框架中的WKWebView来加载网页。这篇文章主要介绍了简单说说iOS之WKWebView的用法小结,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-01-01
  • safari调试iOS app web页面的步骤

    safari调试iOS app web页面的步骤

    这篇文章主要为大家详细介绍了safari调试iOS app web页面的步骤,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-06-06
  • iOS app 右滑返回操作的两种方法

    iOS app 右滑返回操作的两种方法

    这篇文章主要介绍了iOS app 右滑返回操作的相关资料,需要的朋友可以参考下
    2017-08-08
  • IOS开发仿微信消息长按气泡菜单实现效果

    IOS开发仿微信消息长按气泡菜单实现效果

    这篇文章主要介绍了IOS开发仿微信消息长按气泡菜单实现效果示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-07-07
  • iOS 仿百度外卖-首页重力感应的实例

    iOS 仿百度外卖-首页重力感应的实例

    这篇文章主要介绍了iOS 仿百度外卖-首页重力感应的实例,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。
    2017-01-01
  • iOS绘制3D饼图的实现方法

    iOS绘制3D饼图的实现方法

    饼图常用于统计学模块。常见的一般为2D饼图,这篇文章主要介绍了iOS绘制3D饼图的实现方法,3D饼图更加立体,用户的好感度也比较高,下面需要的朋友可以参考借鉴,一起来看看吧。
    2017-01-01
  • iOS中几种定时器的实现小结

    iOS中几种定时器的实现小结

    这篇文章主要介绍了iOS中几种定时器的实现小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-01-01
  • IOS改变UISearchBar中搜索框的高度

    IOS改变UISearchBar中搜索框的高度

    这篇文章主要介绍了IOS改变UISearchBar中搜索框的高度的相关资料,需要的朋友可以参考下
    2016-01-01

最新评论