ใน JavaScript คุณสามารถแปลงค่าสตริงเป็นตัวเลขในสามวิธีต่อไปนี้:
1. หมายเลขโทร () เพื่อแปลงประเภทค่าของสตริง
2.ParseInt ()
3.Parsefloat ()
ตัวเลข()
การใช้ฟังก์ชั่น Number () เพื่อหล่อสตริงเป็นวิธีที่ตรงไปตรงมาที่สุด อย่างไรก็ตามวิธีการนี้มีข้อ จำกัด หนึ่งข้อ: หากสตริงตัดออกจากตัวอักษรจุดเริ่มต้นและจุดสิ้นสุดของช่องว่างและไม่ใช่สตริงตัวเลขบริสุทธิ์ผลลัพธ์สุดท้ายคือ NAN JavaScript ของ David Flanagan คู่มือฉบับย่อที่ 6 ส่วนที่ 3.8.2 กล่าวว่าเมื่อใช้ฟังก์ชันหมายเลข () เพื่อทำการแปลงสตริงเป็นหมายเลขฟังก์ชั่นจะยอมรับเฉพาะสตริงทศนิยม แต่ผลการทดสอบแสดงให้เห็นว่านี่ไม่ใช่กรณี ฟังก์ชั่น Number () สามารถยอมรับ "0xff" เป็นพารามิเตอร์และแปลงเป็นค่าตัวเลข 255
การคัดลอกรหัสมีดังนี้:
var a = "42";
var b = "42 มม.";
var c = "0xff";
var d = "42.34";
console.log (หมายเลข (a)); // 42
console.log (หมายเลข (b)); // nan
console.log (หมายเลข (c)); // 255
console.log (หมายเลข (d)); // 42.34
parseint ()
ฟังก์ชั่น ParseInt () สามารถแปลงสตริงเป็นจำนวนเต็ม เมื่อเปรียบเทียบกับฟังก์ชั่น Number () ฟังก์ชั่น ParseInt () ไม่เพียงแยกวิเคราะห์สตริงตัวเลขบริสุทธิ์เท่านั้น แต่ยังแยกสตริงตัวเลขบางส่วนที่เริ่มต้นด้วยตัวเลข (สตริงที่ไม่ใช่ตัวเลขบางส่วนจะถูกลบออกในระหว่างกระบวนการแปลง) เป็นที่น่าสังเกตว่าเมื่อฟังก์ชั่น ParseInt () วิเคราะห์สตริงจุดลอยตัววิธีที่ใช้สำหรับการปัดเศษคือ "ตัดทอน"
นอกเหนือจากสตริงเป็นพารามิเตอร์แรกฟังก์ชั่น ParseInt () ยังสามารถยอมรับจำนวนเต็มใด ๆ ระหว่าง 2 และ 36 เป็นพารามิเตอร์ที่สองเพื่อระบุจำนวนหน่วยงานในระหว่างกระบวนการแปลง
การคัดลอกรหัสมีดังนี้:
var b = "42 มม.";
var c = "0xff";
var x = "-12.34";
var y = "15.88";
var z = "101010";
console.log (parseint (b)); // 42
console.log (parseint (x)); //-12
console.log (parseint (y)); // 15
console.log (parseint (c)); // 255
console.log (parseint (z, 2)); // 42
console.log (parseint (". 1")); // nan
Parsefloat ()
เช่น ParseInt (), parsefloat () ยังสามารถแยกวิเคราะห์สตริงตัวเลขบางส่วนเริ่มต้นด้วยตัวเลข (สตริงบางส่วนที่ไม่ใช่ข้อมูลที่ไม่ใช่ข้อมูลจะถูกลบออกในระหว่างกระบวนการแปลง) ซึ่งแตกต่างจาก parseint (), parsefloat () สามารถแปลงสตริงเป็นหมายเลขจุดลอยตัว; แต่ในเวลาเดียวกัน Parsefloat () ยอมรับเพียงหนึ่งพารามิเตอร์และสามารถประมวลผลสตริงทศนิยมเท่านั้น
การคัดลอกรหัสมีดังนี้:
var c = "0xff";
var d = "42.34";
console.log (parsefloat (c)); // 0, เพราะ "0xff" เริ่มต้นด้วย 0
console.log (parsefloat (d)); // 42.34
console.log (parsefloat (". 1")); // 0.1