ใน JavaScript โดยทั่วไปมีสามวิธีในการแปลงค่าตัวเลข:
1. หมายเลข (param) ฟังก์ชั่น: param สามารถใช้สำหรับประเภทข้อมูลใด ๆ
1.1 param คือค่าบูลีนจริงและเท็จจะถูกแปลงเป็น 1 และ 0 ตามลำดับ;
1.2 Param เป็นค่าตัวเลขเพียงแค่ผ่านและส่งคืนอย่างง่าย
1.3 param เป็นโมฆะและไม่ได้กำหนดส่งกลับ 0 และ NAN ตามลำดับ
1.4 param เป็นสตริงตามกฎต่อไปนี้:
1.4.1 หากมีเพียงตัวเลขเท่านั้นที่รวมอยู่ในสตริงมันจะถูกแปลงเป็นทศนิยมและไม่สนใจ 0 ชั้นนำ
1.4.2 หากสตริงมีรูปแบบจุดลอยตัวที่ถูกต้องค่าจุดลอยตัวที่สอดคล้องกันจะถูกส่งคืนและการละเว้น 0 ชั้นนำจะถูกละเว้น;
1.4.3 หากสตริงมี hexadecimal ที่ถูกต้องให้ส่งคืนค่าทศนิยมที่มีขนาดเท่ากัน
1.4.4 ถ้าสตริงว่างเปล่าให้ส่งคืน 0
1.4.5 หากสตริงมีอักขระอื่นนอกเหนือจากรูปแบบข้างต้นให้ส่งคืน NAN
1.5 ถ้าพารามิเตอร์เป็นวัตถุจากนั้นเรียกใช้เมธอด ValueOF () ให้แปลงค่าสตริงตามกฎก่อนหน้าเพื่อส่งคืน หาก NAN ถูกส่งคืนให้เรียกใช้เมธอด toString () และแปลงค่าสตริงตามกฎก่อนหน้าเพื่อส่งคืน
1.6 ตัวอย่าง:
<span style = "font-family: Microsoft yahei; font-size: 18px;"> var num1 = number ("hello"); // nan var num2 = number (""); // 0 var num3 = number ("00022"); // 22 var num4 = number (จริง); // 1 </span>2. parseint (param): แปลงสตริงเป็นจำนวนเต็มพารามิเตอร์เป็นประเภทสตริง
ParseInt () ละเว้นพื้นที่ก่อนที่สตริงจนกว่าจะพบอักขระที่ไม่ใช่อวกาศตัวแรก หาก S ไม่ใช่ตัวเลขหรือเครื่องหมายลบมันจะส่งคืน NAN (นั่นคือ ParseInt () จะส่งคืน NAN สำหรับอักขระที่ว่างเปล่าโปรดทราบว่าหมายเลขนั้น () ส่งคืน 0 สำหรับอักขระที่ว่างเปล่า) หาก S เป็นตัวเลข ParseInt () จะยังคงแยกวิเคราะห์อักขระถัดไปจนกว่าตัวละครทั้งหมดจะถูกแยกวิเคราะห์หรือพบอักขระที่ไม่ใช่ตัวเลข parseint () รองรับการแยกวิเคราะห์และการแยกวิเคราะห์ hexadecimal
<span style = "font-family: Microsoft yahei; font-size: 18px;"> var num1 = parseint ("1234blue"); // 1234 var num2 = parseInt (""); // nan var num3 = parseInt ("22.5"); // 22 var num4 = parseInt ("070"); // octal, แปลงเป็นทศนิยม 56 </span>3. parseifloat (param): แปลงสตริงเป็นหมายเลขจุดลอยตัว Param เป็นประเภทสตริง
เช่นเดียวกับ Parseint, Parsefloat () เริ่มแยกวิเคราะห์จากตัวละครตัวแรกจนกว่าตัวละครทั้งหมดจะถูกแยกวิเคราะห์หรือพบอักขระตัวเลขจุดที่ไม่ลอยอยู่ จุดทศนิยมแรกนั้นใช้ได้ แต่อันที่สองนั้นไม่ถูกต้องและฟังก์ชั่นสามารถแยกวิเคราะห์ตัวเลขทศนิยมได้เท่านั้นเพราะมันจะไม่สนใจ 0 ชั้นนำ 0
<span style = "font-family: microsoft yahei; font-size: 18px;"> var num1 = parsefloat ("1234blue"); // 1234 var num2 = parsefloat ("0xf6"); // 0 var num3 = parsefloat ("22.5"); // 22.5 var num4 = parsefloat ("22.5.4"); // 22.5 var num5 = parsefloat ("3.125e7"); // 31250000 </span>