Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> JavaScript

การคืนค่าจำนวนเต็มมากที่สุดที่ใกล้เคียงของทศนิยมในคลาส Math ของ JavaScript

ปัญหา

เราต้องเขียนฟังก์ชัน JavaScript ที่อยู่ในคลาส Math ของ JavaScript ฟังก์ชันควรคืนค่าจำนวนเต็มที่มากกว่าหรือเท่ากับทศนิยมที่เรียก (ceiling) ถ้าตัวเลขเป็นจำนวนเต็มอยู่แล้ว คืนค่าเดิม

ตัวอย่าง

โค้ดตัวอย่างด้านล่าง:

const num = 234.56;
Math.ceil = function(num) {
  if (typeof num !== 'number') {
    return NaN;
  }
  if (num % 1 === 0) {
    return num;
  }
  const [main] = String(num).split('.');
  return +main + 1;
};
console.log(Math.ceil(num));

ผลลัพธ์

235

คำอธิบายเพิ่มเติม

นี่คือการ override Math.ceil() ซึ่งไม่แนะนำใน production โค้ดใช้ string manipulation แทนการคำนวณทางคณิตศาสตร์ ควรใช้ `Math.floor(num) + (num % 1 !== 0 ? 1 : 0)` หรือ `Math.ceil()` ตัวจริง