รูปแบบ IEEE754 ใช้เพื่อแสดงค่าจำนวนเต็มและค่าจุดลอยตัว
ค่าจุดลอยตัว: ค่านี้จะต้องมีจุดทศนิยมและจะต้องมีอย่างน้อยหนึ่งหมายเลขหลังจากจุดทศนิยม ค่าจุดลอยตัวต้องการพื้นที่หน่วยความจำสองเท่าของค่าจำนวนเต็ม ความแม่นยำสูงสุดคือ 17 เป็นทศนิยม แต่ความแม่นยำของมันน้อยกว่าจำนวนเต็มเมื่อดำเนินการทางคณิตศาสตร์
ประเภทตัวเลขต่าง ๆ : ทศนิยม, octal (ไม่ถูกต้องในโหมดที่เข้มงวด), hexadecimal
บิตแรกของตัวอักษรแปดค่าจะต้องเป็น 0 ตามด้วยลำดับหมายเลขแปด (0 ~ 7) หากค่าตัวเลขในค่าตัวอักษรอยู่นอกช่วงค่า 0 ชั้นนำจะถูกละเว้นและค่าตัวเลขที่ตามมาจะถูกแยกวิเคราะห์เป็นเลขทศนิยม
070 // 56079 // 79
สองหลักแรกของตัวอักษรเลขฐานสิบหกต้องเป็น 0x ตามด้วยตัวเลขเลขฐานสิบหก (0 ~ 9 และ a ~ f) ตัวอักษร A ~ f สามารถปรับขนาดหรือตัวพิมพ์เล็กได้
0xa // 10
เมื่อทำการคำนวณทางคณิตศาสตร์ค่าทั้งหมดที่แสดงใน octal และ hexadecimal จะถูกแปลงเป็นค่าทศนิยมในที่สุด
ช่วงค่า:
หากค่านอกช่วงค่า JavaScript ได้รับในผลลัพธ์ของการคำนวณค่านี้จะถูกแปลงเป็นค่าอินฟินิตี้พิเศษซึ่งไม่สามารถเข้าร่วมในการคำนวณครั้งต่อไปได้เนื่องจากอินฟินิตี้เป็นค่าที่ไม่สามารถเข้าร่วมในการคำนวณ หากตัวเลขนี้เป็นบวกมันจะถูกแปลงเป็นอนันต์ (ไม่มีที่สิ้นสุดเชิงบวก) และหากตัวเลขนี้เป็นลบมันจะถูกแปลงเป็น -infinity
-10/0 //-infinity10/0 // infinity
isinfinite () กำหนดว่าตัวเลขมี จำกัด หรือไม่
var result = number.max_value + number.max_valueconsole.log (isfinity (ผลลัพธ์)); // false
น่าน
console.log (nan === nan) // false0/0 // nan
ISNAN: รับพารามิเตอร์และจะพยายามแปลงค่านี้เป็นค่าตัวเลขส่งคืนค่าบูลีน
console.log (isnan ('10 ')); // falseconsole.log (isnan (' bb ')); // trueการแปลงตัวเลข
มี 3 ฟังก์ชั่นที่สามารถแปลงค่าที่ไม่ใช่ตัวเลขเป็นค่าตัวเลข
number (): ใช้สำหรับประเภทตัวเลขใด ๆ
1. ไม่มี
หมายเลข (null) // 0undefinedNumber (undefined) // nan
2. ค่าบูลีน
หมายเลข (จริง) // 1number (เท็จ) // 0
3. สตริง
หมายเลข ('bb') // nan, หมายเลขอักขระที่ไม่ใช่ตัวเลข ('123') // 123, หมายเลขอักขระตัวเลข ('') // 0, สตริงว่างเปล่า4. วัตถุ
หากเป็นวัตถุให้เรียกใช้วิธีการ () ของวัตถุจากนั้นแปลงค่าที่ส่งคืนตามกฎข้างต้น หากผลลัพธ์ของการแปลงเป็น NAN วิธีการ toString () ของวัตถุเรียกว่าและค่าสตริงที่ส่งคืนจะถูกแปลงอีกครั้งตามกฎก่อนหน้า
5.ParseInt ()/parsefloat (): ใช้ในการแปลงสตริงเป็นค่าตัวเลข
ParseInt (): เริ่มการแยกวิเคราะห์จากสตริงแรกจนกว่าจะแยกวิเคราะห์เป็นอักขระที่ไม่ใช่ตัวเลข สามารถยอมรับพารามิเตอร์สองพารามิเตอร์ พารามิเตอร์ที่สองแสดงถึงไบนารีที่แตกต่างกันและถูกแปลงเป็นหมายเลขทศนิยมโดยค่าเริ่มต้น
parseint ('') // nan, สตริงเปล่า parseint (22.4) // 22parseint ('12bu') // 12parseint ('10', 2) // 2parseint ('10', 8) // 8parsefloat (): เริ่มต้นการแยกออกจากสตริงแรก parsefloat ('') // nanparsefloat ('090') // 90Parsefloat ('2.3.4') // 2.3สรุป
คำ:
การปนเปื้อน
var x = .3 - .2 var y = .2 - .1 x == yx == .1 // => false .3 -.2 ไม่เท่ากัน./ y == .1 // => true .2 - .1 เท่ากับ .1