1. 程式人生 > >[Swift通天遁地]五、高階擴充套件-(14)擴充套件String快速計算字串中的各種數學表示式

[Swift通天遁地]五、高階擴充套件-(14)擴充套件String快速計算字串中的各種數學表示式

本文將演示快速計算字串中的各種數學表示式。

Gihub專案:【DDMathParser】

下載並解壓該專案。將資料夾【MathParser】算術解析包,拖動到自己的專案中。

點選【Finish】完成檔案拖動。

在匯入的專案中,【MathParser】->【Info.plist】資訊列表上滑鼠右鍵

->【Delete】->【Move to Trash】,刪除該配置檔案,只保留該資料夾中的程式碼檔案。

在專案導航區,開啟檢視控制器的程式碼檔案【ViewController.swift】

現在開始編寫程式碼,演示快速計算字串中的數學表示式。

 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 }