★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
➤微信公众号:山青咏芝(shanqingyongzhi)
➤博客园地址:山青咏芝(https://www.cnblogs.com/strengthen/)
➤GitHub地址:https://github.com/strengthen/LeetCode
➤原文地址:http://www.javashuo.com/article/p-cwvpcslp-kz.html
➤若是连接不是山青咏芝的博客园地址,则多是爬取做者的文章。
➤原文已修改更新!强烈建议点击原文地址阅读!支持做者!支持原创!
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★html
目录:[Swift]通天遁地Swiftgit
本文将演示快速计算字符串中的各类数学表达式。github
Gihub项目:【DDMathParser】express
下载并解压该项目。将文件夹【MathParser】算术解析包,拖动到本身的项目中。swift
点击【Finish】完成文件拖动。微信
在导入的项目中,【MathParser】->【Info.plist】信息列表上鼠标右键ide
->【Delete】->【Move to Trash】,删除该配置文件,只保留该文件夹中的代码文件。post
在项目导航区,打开视图控制器的代码文件【ViewController.swift】lua
如今开始编写代码,演示快速计算字符串中的数学表达式。spa
1 import UIKit 2 3 class ViewController: UIViewController { 4 5 override func viewDidLoad() { 6 super.viewDidLoad() 7 // Do any additional setup after loading the view, typically from a nib. 8 9 //添加一个异常捕捉语句 10 do 11 { 12 //字符串计算方法,求和 13 let value = try "1+2".evaluate() 14 //控制台输出计算的结果 15 print("1+2 = \(value)") 16 17 //初始化一个算术表达式 18 let expression = try Expression(string: "1+2*3/4-5") 19 //建立一个计算器对象 20 let evaluator: Evaluator = Evaluator() 21 //经过调用计算器对象的计算命令,计算字符串中的算术表达式 22 let value2 = try evaluator.evaluate(expression) 23 //在控制台输出算术表达式计算的结果。 24 print("1+2*3/4-5 = \(value2)") 25 26 //幂运算 27 let value3 = try "1 + 2⁽³⁺¹⁻²⁾".evaluate() 28 //控制台输出计算的结果 29 print("1 + 2⁽³⁺¹⁻²⁾ = \(value3)") 30 31 //识别特殊数学符号,如½ 32 let value4 = try "12 * ½".evaluate() 33 //控制台输出计算的结果 34 print("12 * ½ = \(value4)") 35 } 36 catch 37 { 38 print("Something went wrong :(") 39 } 40 } 41 42 override func didReceiveMemoryWarning() { 43 super.didReceiveMemoryWarning() 44 // Dispose of any resources that can be recreated. 45 } 46 }