ios计算机器代码,iOS计算器的代码实现

下面是编程之家 jb51.cc 通过网络收集整理的代码片段。

编程之家小编现在分享给大家,也给大家做个参考。

-(void)viewDidLoad

{

//初始化字符串

self.num1 = [[NSMutableString alloc]init];

self.num2 = [[NSMutableString alloc]init];

self.tempStr = [[NSMutableString alloc]init];

}

//监听数字按钮0-9和点,点的tag为10

//判断输入数字前有几个0,只取一个零,小数点只取一个

-(IBAction)numbers:(id)sender

{

//处理0的问题

//以零开头,下次输入的非0,则清空0

//如果以0.开头,则不清空

if ([self.tempStr hasPrefix:@"0"] && [sender tag] > 0 && [sender tag] <10 && ![self.tempStr hasPrefix:@"0."])

{

self.tempStr = [NSMutableString stringWithString:@""];

}

else if ([self.tempStr hasPrefix:@"0"] && [sender tag] == 0 && ![self.tempStr hasPrefix:@"0."])

{

//如果是以0开头,但是不是以0.开头,则直接返回

return;

}

//处理小数点的问题

//如果小数点是第一输入的数字

if ([sender tag] == 10 && self.tempStr.length == 0)

{

self.tempStr = [NSMutableString stringWithString:@"0"];

}

//每输入一次,拼接一次字符串

if([sender tag] == 10 )//取小数点

{

//小数点只允许输入一次

//遍历字符串tempStr,如果有小数点,则直接return

for (int i = 0; i < self.tempStr.length ; i++)

{

char c = [self.tempStr characterAtIndex:i];

if (c == '.')

{

return;

}

}

[self.tempStr appendString:@"."];

}

else

{

[self.tempStr appendFormat:@"%ld",[sender tag]];

}

_show.text = self.tempStr;

}

//删除按钮

-(IBAction)deleteNums:(id)sender

{

if (_show.text.length == 1)//删除显示屏中所有的数字

{

_show.text = @"0";

//清空tempStr

self.tempStr = [NSMutableString stringWithString:@""];

return;

}

//将显示屏中的现有数字赋值给字符串

// NSMutableString *str = [[NSMutableString alloc]init];

self.tempStr =[NSMutableString stringWithFormat:@"%@",_show.text] ;

[self.tempStr deleteCharactersInRange:NSMakeRange(self.tempStr.length-1,1)];

_show.text = self.tempStr;

}

//监听加减乘除 calculate "=" 11 "+" 12 "-" 13 "*" 14 "/" 15 正负为16 %为17

-(IBAction)calculate:(id)sender

{

//清空tempStr

self.tempStr = [NSMutableString stringWithString:@""];

if(0 == _count)//如果是第一次输入

{

_cal = [NSNumber numberWithLong:[sender tag]];

self.num1 = [NSMutableString stringWithFormat:@"%@",_show.text];

}

else//不是第一次输入,则计算

{

self.num2 = [NSMutableString stringWithFormat:@"%@",_show.text];

int calculate = [_cal intValue];

switch (calculate) {

case 12://将加后的结果显示

_show.text =[NSString stringWithFormat:@"%.2f",([self.num1 doubleValue] + [self.num2 intValue])];

break;

case 13://将减后的结果显示

_show.text =[NSString stringWithFormat:@"%.2f",([self.num1 doubleValue] - [self.num2 intValue])];

break;

case 14://将乘后的结果显示

_show.text =[NSString stringWithFormat:@"%.2f",([self.num1 doubleValue] * [self.num2 intValue])];

break;

case 15://将除后的结果显示

_show.text =[NSString stringWithFormat:@"%.2f",([self.num1 doubleValue] / [self.num2 intValue])];

break;

default:

break;

}

self.num1 = [NSMutableString stringWithFormat:@"%@",_show.text];

_cal = [NSNumber numberWithLong:[sender tag]];

}

_count = @1;

if ([sender tag] == 16 || [sender tag] == 17)//单目运算正负和%

{

switch ([sender tag]) {

case 16://将乘负后的结果显示

_show.text =[NSString stringWithFormat:@"%.2f",([self.num1 doubleValue] *(-1))];

break;

case 17://将取百分后的结果显示

_show.text =[NSString stringWithFormat:@"%.2f",([self.num1 doubleValue] / 100)];

break;

default:

break;

}

self.num1 = [NSMutableString stringWithFormat:@"%@",_show.text];

}

}

以上是编程之家(jb51.cc)为你收集整理的全部代码内容,希望文章能够帮你解决所遇到的程序开发问题。

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

总结

以上是编程之家为你收集整理的iOS计算器的代码实现全部内容,希望文章能够帮你解决iOS计算器的代码实现所遇到的程序开发问题。

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值