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

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

(0)

相关推荐

  • iOS开发实现简单计算器功能

    用Object-C写的一个简单的计算机程序,主要学习按钮的action动作. 下面是主界面: 下面代码时界面按钮和ViewController.h连接的地方: - (IBAction)button_0:(UIButton *)sender; - (IBAction)button_dian:(UIButton *)sender; - (IBAction)button_dengyu:(UIButton *)sender; - (IBAction)button_1:(UIButton *)sender

  • 基于AngularJS实现iOS8自带的计算器

    前言 首先创建angularjs的基本项目就不说了,最好是利用yeoman这个脚手架工具直接生成,如果没有该环境的,当然也可以通过自行下载angularjs的文件引入项目. 实例详解 main.js是项目的主要js文件,所有的js都写在这个文件中,初始化之后,该文件的js代码如下 angular .module('calculatorApp', [ 'ngAnimate', 'ngCookies', 'ngResource', 'ngRoute', 'ngSanitize', 'ngTouch'

  • iOS实现小型计算器

    作为一名初学者,编辑一款能够在IOS操作系统上运行的计算器是一件很值得自豪的事情,网络上虽然后很多相关的文章和代码,功能也很强大但是我感觉相关的计算器比加复杂,晦涩难懂,所以我想通过这个小小的计算器,能够帮到大家,如果有不完美的地方,还请大家多多批评指教. 首先呢,编辑这个计算器用到了两种控件,Label和Button控件,Label控件用于显示结果,而Button则是相应的键.我把计算器的键分为三种numButton,caculatorButton和clearButton.numButton主

  • iOS开发实现计算器功能

    本文实例为大家分享了iOS实现计算器功能的具体代码,供大家参考,具体内容如下 效果图 Masonry 使用数组来自动约束 NSArray *buttonArrayOne = @[_buttonAC, _buttonLeftBracket, _buttonRightBracket, _buttonDivide]; //withFixedSpacing: 每个view中间的间距 //leadSpacing: 左最开始的间距 //tailSpacing:; 右边最后的的间距 [buttonArrayO

  • iOS实现简单计算器功能

    本文实例为大家分享了iOS实现简单计算器功能的具体代码,供大家参考,具体内容如下 //  ZYAppDelegate.m //  Calculator // //  Created by mac on 15-7-30. //  Copyright (c) 2015年 zhiyou. All rights reserved. //   #import "ZYAppDelegate.h"   @implementation ZYAppDelegate   - (BOOL)applicati

  • iOS实现计算器小功能

    本文实例为大家分享了iOS实现计算器小功能,供大家参考,具体内容如下 本文利用ios实现计算器app,后期将用mvc结构重构 import UIKit class CalculViewController: UIViewController {     @IBOutlet weak var display: UILabel!     var userIsInTheMiddleOFTypingANumber:Bool=false     @IBAction func appendDigit(sen

  • iOS实现简易的计算器

    本文实例为大家分享了iOS实现简易的计算器的具体代码,供大家参考,具体内容如下 初步接触视图,制作了一个简易的计算器,基本上简单的计算是没有问题的,不是很完美,可能还有一些bug,再接再厉. // //  ViewController.m //  计算器 // //  Created by ma c on 15/8/25. //  Copyright (c) 2015年 bjsxt. All rights reserved. // #import "ViewController.h"

  • IOS实现简易版的QQ下拉列表

    下面我们通过实例代码来一步步看怎么实现, 首先建立了两个模型类, 一个Friend, 一个FriendGroup类. 数据源用的本地的一个plist文件. plist文件中包含了FriendGroup的name,friends数组等属性. Friend.h 示例代码 #import <Foundation/Foundation.h> @interface Friend : NSObject @property (nonatomic, copy) NSString *name; @end Fri

  • c#入门之实现简易存款利息计算器示例

    本想把练习题做了的结果放上来,不过发现附录是有答案的,就算了吧,自己做了没问题就行了哈.之前提到过,要是有朋友有想法,需要做小工具我可以帮忙实现,不过貌似大家都很忙.SO,自己学完第4章后,决定做一个工具:简易存款利息计算器,可以更好地复习前面学过的知识. 原理介绍为啥叫简易呢,因为现在只能计算整存整取(只有1.2.3.5四种年限哈)的利息,并且没有启用自动转存(俗称利滚利,就是把本年和上年的利息之和,作为下年利息计算时的本金)功能,方便和网上已有的工具对比计算结果,判断自己的程序算出来正不正确

  • iOS实现简易抽屉效果、双边抽屉效果

    本文实例为大家分享了iOS实现抽屉效果的全部代码,供大家参考,具体内容如下 iOS实现简易抽屉效果,代码: @interface ViewController () { UIView* _leftView; } @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from

  • C#开发简易winform计算器程序

    临近年关,今日在学习的过程中感觉甚是无聊,便想用C#来开发一个简易的计算器程序,这里记录下今日下午的实现过程,同时也记录下自己的第一遍博客. 一.需求 首先我们先来决定我们的计算器要实现什么功能 功能需求:1.能够实现加.减.乘.除.求余等两个操作数的运算,以及开方.平方单个操作数的运算 2.能够清除错误的输入,能够实现清零操作 显示需求:能够显示操作数与运算内容,显示结果 二.设计界面 1.在明白我们的功能需求后,我们来设计界面,界面主要包括三个部分,用于显示的两个textBox,以及数字键B

  • 用c#实现简易的计算器功能实例代码

    由于今天在网上搜了一下c#写的计算器,发现大多都太繁琐了,很多没必要并且不容易理解的东西就专门写了这个博客 1.首先新建一个windows窗体应用的项目.执行文件-新建-项目-windows窗体应用 2.在工具箱中拖出一个textbox用于输入和显示,再拖出21个button按钮用来当计算器的按键,在textbox下面还有一个lable控件(我把它属性改成了空格所以看不到了),改一下按钮的text属性 3.双击数字按钮进入代码界面(数字只用一个事件即可,运算符也是用一个事件,其他每个按钮都需要双

  • javascript实现简易的计算器

    利用javascript实现简易的计算器,供大家参考,具体内容如下 1.先构思整个计算器的模式以及想要实现的功能,按模块创建相应的div,在"head"中设置其样式和布局. 2.用"input"标签创建text类型,置为输出框:依次创建buttom类型,置为按钮,内容为1.2.3--:创建"=",并在input中对他进行点击事件"οnclick="result()"". 3.添加script,利用var定义

  • iOS实现简易钟表

    本文实例为大家分享了iOS实现简易钟表的具体代码,供大家参考,具体内容如下 效果图: 注意:表盘是一个UIImageView控件,设置image为表盘图片 核心代码: // // ViewController.m // 时钟 // // Created by llkj on 2017/8/29. // Copyright © 2017年 LayneCheung. All rights reserved. // #import "ViewController.h" //每一秒旋转多少度

  • ios实现简易队列

    本文实例为大家分享了ios实现简易队列的具体代码,供大家参考,具体内容如下 满足一些特殊需求 接口部分(队列支持需求) #import <Foundation/Foundation.h> @interface XMQueue : NSObject ///队列追加 - (void)add:(id) obj; ///队列取出 - (id)next; ///返回队列最前端,不删除队列内元素 - (id)first; ///队列内是否还有元素 - (BOOL) isEmpty; ///队列转array

  • Javascript实现简易天数计算器

    本文实例为大家分享了Javascript实现简易天数计算器的具体代码,供大家参考,具体内容如下 效果图: 功能: 1. 支持选择日期: 2. 自动计算闰年: 3. 支持使用当前日期. 代码: (1)html文件: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>简易天数计算器</title> <sc

随机推荐