iOS實(shí)現(xiàn)簡易的計(jì)算器
本文實(shí)例為大家分享了iOS實(shí)現(xiàn)簡易的計(jì)算器的具體代碼,供大家參考,具體內(nèi)容如下
初步接觸視圖,制作了一個(gè)簡易的計(jì)算器,基本上簡單的計(jì)算是沒有問題的,不是很完美,可能還有一些bug,再接再厲。

//
// ?ViewController.m
// ?計(jì)算器
//
// ?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:@""]; ? ? ? ? //重新開始計(jì)算,文本框置空
? ? 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;
}
//觸發(fā)算數(shù)運(yùn)算事件
- (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;
}
//做結(jié)果運(yùn)算操作
- (IBAction)buttonEqual:(UIButton *)sender
{
? ? for(int i=0; i<[_string length]; i++)
? ? {
? ? ? ? self.arr = [[NSArray alloc]init];
? ? ? ? //只輸入一個(gè)數(shù),不做運(yùn)算
? ? ? ? if([_string length] == 1)
? ? ? ? {
? ? ? ? ? ? self.temp = [_string doubleValue];
? ? ? ? ? ? break;
? ? ? ? }
? ? ? ? //做加法運(yùn)算
? ? ? ? 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;
? ? ? ? }
? ? ? ? //做減法運(yùn)算
? ? ? ? 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;
? ? ? ? }
? ? ? ? //做除法運(yùn)算
? ? ? ? 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;
? ? ? ? }
? ? ? ? //做乘法運(yùn)算
? ? ? ? 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;
? ? ? ? }
? ? }
? ? //輸出結(jié)果
? ? [_string setString:[NSString stringWithFormat:@"%.2f",self.temp]];
? ? self.ResultField.text = _string;
}
- (void)viewDidLoad {
? ? [super viewDidLoad];
? ? //創(chuàng)建一個(gè)可變的字符串
? ? _string = [NSMutableString stringWithCapacity:20];
}
- (void)didReceiveMemoryWarning {
? ? [super didReceiveMemoryWarning];
? ? // Dispose of any resources that can be recreated.
}
@end以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
ios12中遇到的帶input彈窗的錯(cuò)位問題的解決方法
這篇文章主要介紹了ios12中遇到的帶input彈窗的錯(cuò)位問題的解決方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2019-05-05
iOS UITableView 拖動(dòng)排序?qū)崿F(xiàn)代碼
這篇文章主要為大家詳細(xì)介紹了iOS UITableView 拖動(dòng)排序?qū)崿F(xiàn)代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-09-09
iOS實(shí)現(xiàn)新年抽獎(jiǎng)轉(zhuǎn)盤效果的思路
這篇文章主要為大家詳細(xì)介紹了iOS實(shí)現(xiàn)抽獎(jiǎng)轉(zhuǎn)盤效果的思路,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-01-01
iOS 10 和Xcode8 一起 創(chuàng)建 Siri 功能步驟詳解(OC寫的 )
這篇文章主要介紹了iOS 10 和Xcode8 一起 創(chuàng)建 Siri 功能(OC寫的 ),本文分步驟給大家介紹的非常詳細(xì),需要的朋友可以參考下2017-12-12
iOS應(yīng)用開發(fā)中使用NSLocale類實(shí)現(xiàn)對象信息的本地化
這篇文章主要介紹了iOS應(yīng)用開發(fā)中使用NSLocale類實(shí)現(xiàn)對象信息的本地化的方法,能夠?qū)r(shí)間和貨幣等格式化為與系統(tǒng)本地設(shè)置相同的偏好,需要的朋友可以參考下2016-05-05

