มีเมธอด Number object ใน JavaScript ที่ช่วยให้เราสามารถตั้งค่าจุดทศนิยมคงที่บนตัวเลขแล้วส่งคืนเป็นสตริง บทความนี้จะพูดถึงไวยากรณ์ของวิธีนี้และอธิบายวิธีใช้งาน
เมื่อเราพูดถึง primitive ใน JavaScript เรากำลังพูดถึงรายการที่ไม่ใช่ Objects และไม่มีเมธอดที่เกี่ยวข้อง เมื่อเราต้องการนำค่าดั้งเดิมมาและทำให้เป็นอ็อบเจ็กต์ เราสามารถทำได้ด้วยตัวห่อหุ้มดั้งเดิมที่สามารถครอบทับค่าหรือประเภทข้อมูลได้
ตัวเลขมีวัตถุห่อหุ้มดั้งเดิม เราใช้เพื่อเปลี่ยนการแสดงสตริงของตัวเลขเป็นวัตถุ Number จริงซึ่งมีวิธีที่เราสามารถทำได้
สมมติว่าเรามีการแสดงสตริงของตัวเลขเนื่องจากเรามีแบบฟอร์มที่กำหนดให้ผู้ใช้ใส่ค่าตัวเลขสำหรับฟิลด์บนหน้าจอ เราสามารถนำอินพุตนั้นมาแปลงเป็นตัวเลขแล้วใช้วิธีใดก็ได้เพื่อทำงานกับค่านั้น
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width"> <title>repl.it</title> <link href="style.css" rel="stylesheet" type="text/css" /> </head> <body> <form onsubmit=handleSubmit(event)> <label for="to-fixed">Enter a number:</label> <input id="to-fixed" onchange=handleChange(event) type="text" name="inputVal" value=""/> <label for="num-digits">Num places:</label> <input id="num-digits" onchange=handleChange(event) type="text" name="numVal" value=""/> <input type="submit" value="Submit" /> </form> <h3 id="root"></h3> <script> let inputVal = ''; let numVal = ''; const handleChange = e => { if(e.target.name === "inputVal") { inputVal = e.target.value; } else { numVal = e.target.value; } console.log(e.currentTarget, e.target) } const handleSubmit = e => { e.preventDefault(); console.log(e) const root = document.querySelector("#root"); root.innerHTML = Number(inputVal).toFixed(Number(numVal)); console.log(Number(inputVal).toFixed(5)) } const inputValue = document.getElementById("to-fixed").value </script> </body> </html>
ในที่นี้ เราใช้เมธอด toFixed() ของ Number object เพื่อให้ตัวเลขมีความยาวตามที่เราต้องการ ไวยากรณ์สำหรับวิธีการมีดังนี้:
const toFixedNumDigits = Number([x]).toFixed(Number([y]));
หากต้องจัดการกับรูปแบบ มีสิ่งหนึ่งที่คุณต้องจำไว้:ค่าเหล่านี้มาเป็นสตริง ดังนั้นเพื่อที่จะใช้ toFixed()
วิธีการกับพวกเขา คุณต้องเปลี่ยนเป็นการแสดงตัวเลข
เราทำสิ่งนี้โดยห่อหุ้มอินพุตด้วยกระดาษห่อหุ้ม Number(n) ตัวแปรแรก x คือเลขทศนิยมที่คุณต้องการย่อ (หรือยาวขึ้นแล้วแต่กรณี) ตัวแปรที่สองคือ y คือจำนวนตำแหน่งที่คุณต้องการให้ตัวเลขหลุดออกจากจุดทศนิยม
ลองใช้ตัวเลขเหล่านี้ด้วยตัวคุณเองเพื่อดูว่าคุณได้อะไรกลับมาในโปรแกรมแก้ไขโค้ด:
81% ของผู้เข้าร่วมกล่าวว่าพวกเขารู้สึกมั่นใจมากขึ้นเกี่ยวกับโอกาสในการทำงานด้านเทคโนโลยีหลังจากเข้าร่วม bootcamp จับคู่กับ Bootcamp วันนี้
ผู้สำเร็จการศึกษาจากหลักสูตร bootcamp โดยเฉลี่ยใช้เวลาน้อยกว่าหกเดือนในการเปลี่ยนอาชีพ ตั้งแต่เริ่มต้น bootcamp ไปจนถึงหางานแรก
Enter a number: Num places: //floats 45.45678 3 // Returns '45.457' //integers 45 5 // Returns '45.00000' //exponential notation 1e-10 3 // Returns '0.00' 1.23e+20 2 // Returns '123000000000000000000.00' 1.23e-10 2 // Returns '0.00'
ดังที่คุณเห็นจำนวนหลักที่ปรับตามตัวแปร y ที่คุณเสียบเข้ากับอินพุต Num Places หากตัวเลขไม่ยาวพอที่จะชดเชยค่า Num Places ตัวเลขจะเติมสตริงด้วยศูนย์จนกว่าจะถึงความยาวที่ต้องการ
หากตัวเลขยาวและอินพุต Num Places สั้นกว่าตัวเลขที่มีอยู่หลังจุดทศนิยม จะทำให้ตัวเลขสั้นลงและปัดเศษส่วนท้ายเพื่อคืนค่าสตริงที่ต้องการของตัวเลข
โปรดทราบ :หากคุณต้องการใช้งานมันเป็นตัวเลขในลอจิกของคุณหลังจากที่มันถูกจัดการและส่งคืน คุณจะต้องเปลี่ยนมันกลับเป็นตัวเลขโดยใช้แรปเปอร์ Number primitive เหมือนที่เราทำด้านบน
จะเรียนรู้อะไรต่อไป
JavaScript Random Number:คู่มือฉบับสมบูรณ์
JavaScript ParseInt:คำแนะนำทีละขั้นตอน
JavaScript Countdown Timer:บทช่วยสอน
JavaScript เป็นสตริง
JavaScript toUpperCase และ toLowerCase