★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
➤微信公衆號:山青詠芝(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 }