DatePicker練習|計算生命靈數

安安😗 幾歲?星座?生命靈數?

🔅 生命靈數計算方法:

生日西元年月日每個位數相加,如得出二位數,此兩數再相加(如仍是二位數就再相加),直到成為個位數字。
如:2003/02/07 , 2+0+0+3+0+2+0+7 = 14 ,1 + 4 = 5
因此得知永遠18歲的彼得潘大大生命靈數為5😎

1. 建立IBOutlet

2. 建立IBAction

UIButton ENTER 計算生命靈數&對應星座&年齡

@IBAction func showResult(_ sender: UIButton) {
starSigns() //對應星座&計算年齡
lifeCodeCalculate() //計算生命靈數
}

func starSign ()
日期對應星座&計算年齡

使用Calendar 的 dateComponents(in:from:) 取值

取出選取日期&現在日期,計算出現在年紀
設定星座日期區間

func lifeCodeCalculate()
計算生命靈數

使用DateFormatter日期轉字串

日期轉字串

計算生命靈數:
將選擇之日期由數字轉字串,進入迴圈後將日期字串轉數字為求個數總和,求完字數總和數字轉字串判斷總和是否為<=9,如大於9時,回repeat再跑一次。

圈圈轉起來
repeat-while迴圈,以日期20210223為例

📒 repeat-while 迴圈:
repeat-while 是在迴圈結束時判斷條件是否符合。意思是無論如何都會先執行一次要被執行的程式碼,執行完之後才會進行條件檢查。

以生命靈數計算方式為例:
日期相加,如讀出二位數,即二位數再相加至個位數。
repeat{ 日期總和=0for _ in 日期字串 { 將日期轉數字,取日期數字總和} 日期總和轉 日期字串(日期總和<=9,則不用跑while)}while 日期總和>9,回至repeat開始

Github

--

--