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

การแสดงตัวเลขในรูปขยาย (Expanded Form) - JavaScript

ฟังก์ชันนี้แปลงตัวเลขเป็นสตริงรูปขยาย (expanded form) แสดงค่าตำแหน่ง (place value) ของแต่ละหลัก

ตัวอย่าง

// Input: 125
// Output: '100+20+5'

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

const num = 125;

const expandedForm = num => {
  const numStr = String(num);
  let res = '';

  for (let i = 0; i < numStr.length; i++) {
    // ค่าตำแหน่ง = ตัวเลข × 10^(จำนวนหลัก - ตำแหน่ง - 1)
    const placeValue = +numStr[i] * Math.pow(10, numStr.length - 1 - i);

    if (numStr.length - i > 1) {
      res += `${placeValue}+`;
    } else {
      res += placeValue;
    }
  }
  return res;
};

console.log(expandedForm(num));

การทำงาน

  • แปลงตัวเลขเป็นสตริงเพื่อเข้าถึงแต่ละหลัก
  • คำนวณ place value: digit × 10^(position from right)
  • ต่อสตริงด้วย '+' ระหว่างพจน์ ยกเว้นพจน์สุดท้าย

ผลลัพธ์

100+20+5

ประยุกต์ใช้: การสอนคณิตศาสตร์ การแสดงผลตัวเลขในรูปแบบอ่านง่าย การแยกวิเคราะห์ตัวเลข