做一个iOS的简单计算器(二)

接上一篇,我已经完成了多个小数点,除零,格式异常等处理,直接上代码,使用swift写的。
首先是一个处理栈等基本功能的类。

//定义一个处理基本操作的类
class CalculateTool: NSObject {
    var opndStack:Array<String>?    //运算数栈
    var optrStack:Array<String>?    //运算符栈

    //初始化运算数栈
    func initOpndStack()
    {
        opndStack = Array<String>()
    }
    //初始化运算符栈
    func initOptrStack(){
        optrStack = Array<String>()
    }
    //压入运算数
    func pushOperand(operand:String)
    {
        opndStack?.append(operand)
    }
    //压入运算符
    func pushOperator(optr:String)
    {
        optrStack?.append(optr)
    }
    //弹出一个运算数,返回弹出数:小数点也是数
    func popOperand() -> Float
    {
        if opndStack?.count > 0
        {
             let last = opndStack?.last
            opndStack?.removeLast()
            let lastString = last! as NSString
            return lastString.floatValue
        }
        return 0.0
    }
    //弹出一个运算符
    func popOperator() -> String
    {
        if optrStack?.count>0
        {
            let last = optrStack?.last
            optrStack?.removeLast()
            return last!
        }
        return ""
    }
    //取栈顶运算数
    func getTopOperand() -> Float
    {
        
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值