Skip to content

資料處理 - 數字 ​

數字處理相關語法

語法 ​

數字處理使用 Math 語法,提供了許多數學運算功能

  • Math.round(數字) 四捨五入到整數
  • Math.ceil(數字) 無條件進位
  • Math.floor(數字) 無條件捨去
  • Math.pow(數字, 次方) 次方
  • Math.sqrt(數字) 平方根
  • Math.sign(數字) 正負數判斷,負數為 -1,0 為 0,正數為 1
  • Math.abs(數字) 絕對值
  • Math.min(數字1, 數字2, 數字3...) 取最小值
  • Math.max(數字1, 數字2, 數字3...) 取最大值
  • Math.random() 從 0 到 1 隨機取小數,包含 0,不包含1
js
Math.round(4.7)   // 5

Math.ceil(4.4)    // 5

Math.floor(4.8)   // 4

Math.pow(8, 2)    // 64

Math.sqrt(64)     // 8

Math.sign(-100)   // -1

Math.abs(-5)      // 5

Math.min(0, 150, 30, 20, -8, -200)  // -200

Math.max(0, 150, 30, 20, -8, -200)  // 150

Math.random()     // 0.123456789

TIP

取陣列的最大值與最小值可以利用 ... 展開運算子

js
const arr = [0, 150, 30, 20, -8, -200]
Math.min(...arr)  // -200
Math.max(...arr)  // 150

綜合練習 ​

練習

從 0 到 100 隨機取一個整數

練習

製作隨機數字 function,提供最小整數和最大整數,回傳一個區間內的隨機整數

js
const rand = (min, max) => {
  // 程式碼...
}

作業

用上面練習完成的 function 製作威力彩號碼產生器
將隨機出的數字用 document.write() 顯示在網頁上
威力彩規則

  • A 區 1~38 取 6 個數字
  • B 區 1~8 取 1 個數字

練習

請寫一個 function,判斷傳入的數字是不是質數
並使用該 function 列出 1 ~ 100 間的所有質數
質數特性

  • 不能被大於 2 且小於自身平方根的數整除
  • 只能被 1 和自身整除,不能被 2 到 (num-1) 整除
提示 1

用迴圈從 2 開始,一個一個試著除,只要有一個能整除就不是質數

提示 2

其實不用試到自己減一,只要試到 Math.sqrt(數字) 就好
因為如果 數字 = a × b,a 和 b 其中一個一定小於等於平方根