iT邦幫忙

0

JS 內建物件 | 無條件捨去的小幫手:Math.floor() 使用指南

  • 分享至 

  • xImage
  •  

在處理資料時,經常會遇到帶有小數點的數字,例如:

  • 計算購物車折扣後,價格出現了小數點(例如:$199.8)。

  • 製作隨機抽獎時,算出了一個隨機小數。

  • 計算時間或頁碼時,需要把計算出來的浮點數(Floating-point number)轉成整數。

這時候,我們可以使用JavaScript 內建的工具——Math.floor()來做 「無條件捨去」。


筆記目錄


什麼是 Math.floor()?

Math.floor() 是 JavaScript 內建用來進行數學運算的方法。

不管小數點後面的數字是多少,這個數字都會無條件捨去,只保留不大於該數字的最大整數。


語法結構與參數說明

Math.floor(x)
  • x (必填):想要進行無條件捨去的數字(Number)。

  • 回傳值:回傳不大於 x 的最大整數。

// 小數點後數字再大,都會被無條件捨去
console.log(Math.floor(4.1));  // 4
console.log(Math.floor(4.99)); // 4

// 如果傳入本身就是整數,會直接回傳原數字
console.log(Math.floor(5));    // 5

實作應用情境

計算貓罐頭平分(無條件捨去)

const totalCans = 10; // 總共有 10 罐貓罐頭
const catCount = 3;   // 家裡有 3 隻貓

// 10 / 3 = 3.3333...
// 為了確保每隻貓吃到一樣多且完整的罐頭,使用 Math.floor()
const cansPerCat = Math.floor(totalCans / catCount);

console.log(`每隻貓可以分到 ${cansPerCat} 罐罐頭`); // 3

留意點

Math.floor() 的定義是:「回傳小於或等於該數字的最大整數(無條件捨去)」。
因此不適合用於負數的場合,如果是要去掉負數的小數點,可以改用Math.trunc()。

常見的取整數方法

方法 說明
Math.floor() 無條件捨去
Math.ceil() 無條件進位
Math.round() 四捨五入
Math.trunc() 直接砍掉小數點

(參考資料:Mdn - Math.floor())


圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言