我在 kotlin讀書會的日子(一): 導讀 number

楊舒安
Nov 12, 2020

--

(4月12日的進度是 String and Number.)

kotlin中使用的number型態為:整數、小數、正數,以及負數 (whole-number integers, number with decimals, positive numbers, and negative numbers. 英文名詞部分出自kotlin programming一書)。

下圖是kotlin常用的number types:

numeric types of kotlin (截圖出自kotlin programming)

上表中的Bits, 是binary digit的縮寫,也就是所謂的「二進制」,一個單一的bit指的是「0」或「1」,以42為例說明:

42的十進制與二進制表 (截圖出自kotlin programming)

上圖是將二進制的bits轉換成十進制的方法,由此可知十進制的42在二進制是101010 (這邊須注意,bits的最右邊是2的0次方,最左邊則是正負號。)將十進制轉換成二進制可用 Integer.toBinaryString(42) = 101010

在前一章節String結束時的練習程式碼如下:
(由於這次的讀書會指定kotlin progrmming這本書為主要的學習教材,在假設參與會議的人或多或少都有閱讀的前提下,就照著書中的步驟講解。)

取自kotlin programming (String練習)

上圖所產生的結果如下:

取自kotlin programming (String練習)

由於文化及幣值的差異,在台灣生活的人未必可以完全理解書中範例的假設,導讀當天為了講解方便,便以熊貓外送星巴克飲品為例,將原本的程式碼稍加修改,如下圖:(僅為講解方便,非業配文 XD)

先整理原本的code

Step1. 新增Int變數:
新增百元鈔及1元硬幣兩種幣值的變數,在使用整數賦值的情況下,kotlin會將DrSunYetSen及OneDollar的型態視為Int, 並增加一個可以將變數在結果中顯示的displayBalance funtion.

Step1. 新增Int變數

Step2. 幣值統一:
新增一個performPurchase funtion, 為了運算,需先將剛剛新增的兩種幣值的單位統一,用(變數/100.0)的方式會讓myMoney視為是Double

Step2. 幣值統一

Step3. 將被減數price放入performPurchase function內:
由於price設定時是String, 需轉換成double, 轉換方法如下圖中綠色框框

Step3. 將被減數price放入performPurchase function內

Step4. 兩數相減:
如下圖,增加一個finalMoney變數存取兩數相減後的值

Step4. 兩數相減

Step5. 格式化finalMoney:
使用”%.2f”.format格式化,意思是將變數取到小數點後的第二位

Step5. 格式化finalMoney

備註:
昨晚準備要寫「11月的Chatbot中部人小聚心得」的時候,意外的發現這篇文章已經在我的草稿堆裡面躺了半年了,趁著讀書會第二梯次結束後比較有時間就先來處理一下 XD
Kotlin讀書會第三梯次已經有熱心人士認領「主辦人員」了,目前預計是2021年的3月要開始~

--

--

No responses yet