Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Javascript

วิธี JavaScript:toFixed() – วิธีการตัวเลข

มีเมธอด 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