JavaScript มีเพียงหนึ่งชนิดของ number
Numbers สามารถเขียนได้มีหรือไม่มีทศนิยม
เบอร์ JavaScript
JavaScript numbers สามารถเขียนได้มีหรือไม่มีทศนิยม:
ตัวอย่าง
var x = 34.00; // A number with decimals
var y = 34; // A number without decimals
ตัวเลขขนาดเล็กขนาดใหญ่พิเศษหรือพิเศษสามารถเขียนได้ด้วยวิทยาศาสตร์ (ตัวแทน) สัญกรณ์:
ตัวอย่าง
var x = 123e5; // 12300000
var y = 123e-5; // 0.00123
เบอร์ JavaScript อยู่เสมอ 64 บิต Floating Point
ซึ่งแตกต่างจากภาษาโปรแกรมอื่น ๆ , JavaScript ไม่ได้กำหนดประเภทที่แตกต่างกันของตัวเลขเช่นจำนวนเต็มสั้นยาวจุดลอยตัว ฯลฯ
หมายเลข JavaScript จะถูกเก็บไว้เสมอเป็นความแม่นยำสองลอยหมายเลขจุดต่อไปนี้ระหว่างประเทศ IEEE 754 มาตรฐาน
นี้ร้านค้ารูปแบบตัวเลขใน 64 บิตที่หมายเลข (เศษ) จะถูกเก็บไว้ในบิต 0-51, เลขชี้กำลังในบิต 52-62 และเข้าสู่ระบบบิต 63:
ราคา (aka เศษส่วน / Mantissa) | ตัวแทน | เซ็นต์ |
---|---|---|
52 บิต (0-51) | 11 บิต (52-62) | 1 บิต (63) |
ความแม่นยำ
นัมเบอร์ (ตัวเลขโดยไม่ต้องมีระยะเวลาหรือสัญกรณ์ยกกำลัง) จะถือว่าถูกต้องถึง 15 หลัก
ตัวอย่าง
var x = 999999999999999; // x will be 999999999999999
var y = 9999999999999999; // y will be 10000000000000000
ลองตัวเอง» จำนวนสูงสุดของทศนิยมคือ 17 แต่ลอยคำนวณจุดมีความถูกต้องไม่ได้เสมอ 100%:
เพื่อแก้ปัญหาดังกล่าวข้างต้นจะช่วยให้คูณและหาร:
เลขฐานสิบหก
JavaScript ตีความค่าคงที่ตัวเลขเป็นเลขฐานสิบหกถ้าพวกเขาจะนำหน้าด้วย 0x
ไม่เคยเขียนตัวเลขโดยมีศูนย์นำ (เช่น 07 บริการ)
บางรุ่น JavaScript ตีความตัวเลขเป็นเลขฐานแปดถ้าพวกเขาจะเขียนด้วยศูนย์นำ
โดยค่าเริ่มต้น Javascript แสดงตัวเลขเป็น 10 ฐานทศนิยม
แต่คุณสามารถใช้ toString() วิธีการส่งออกไปยังหมายเลขที่เป็นฐานที่ 16 (Hex), ฐาน 8 (แปด) หรือฐาน 2 (binary)
ตัวอย่าง
var myNumber = 128;
myNumber.toString(16); // returns 80
myNumber.toString(8); // returns 200
myNumber.toString(2); // returns 10000000
ลองตัวเอง» ความไม่มีที่สิ้นสุด
อินฟินิตี้ (หรือ -Infinity) เป็นค่า JavaScript จะกลับมาถ้าคุณคำนวณจำนวนนอกจำนวนที่เป็นไปได้ที่ใหญ่ที่สุด
ตัวอย่าง
var
myNumber = 2;
while (myNumber != Infinity) {
// Execute until Infinity
myNumber = myNumber * myNumber;
}
ลองตัวเอง» หารด้วย 0 (ศูนย์) นอกจากนี้ยังสร้างอินฟินิตี้:
อินฟินิตี้เป็นจำนวน A: typeOf อินฟินิตี้ส่งกลับจำนวน
NaN - ไม่ใช่ตัวเลข
NaN เป็นคำสงวน JavaScript แสดงให้เห็นว่าค่าไม่เป็นตัวเลข
พยายามที่จะทำเลขคณิตกับสตริงที่ไม่ใช่ตัวเลขจะมีผลใน NaN (ไม่ใช่ตัวเลข):
แต่ถ้าสตริงมีค่าตัวเลขผลจะเป็นตัวเลข:
คุณสามารถใช้ฟังก์ชั่นระดับโลก JavaScript isNaN() เพื่อดูว่ามีค่าเป็นจำนวน
ระวังน่าน ถ้าคุณใช้น่านในการดำเนินการทางคณิตศาสตร์ผลที่ได้ยังจะน่าน
หรือผลที่อาจจะมีการเรียงต่อกัน A:
NaN เป็นจำนวนและ typeof NaN ส่งกลับจำนวน:
เบอร์สามารถวัตถุ
โดยปกติหมายเลข JavaScript เป็นค่าดั้งเดิมที่สร้างขึ้นจากตัวอักษร: var x = 123
แต่ตัวเลขนี้ยังสามารถกำหนดให้เป็นวัตถุที่มีคำหลักใหม่: var y = new Number(123)
ตัวอย่าง
var x = 123;
var y = new Number(123);
//
typeof x returns number
//
typeof y returns object
ลองตัวเอง» อย่าสร้างวัตถุจำนวน มันช้าลงความเร็วในการทำงาน
new คำหลักที่มีความซับซ้อนรหัส นี้สามารถก่อให้เกิดผลที่ไม่คาดคิดบางอย่าง
เมื่อใช้ == ประกอบเสมอภาคเท่ากับจำนวนลักษณะเท่ากับ:
ตัวอย่าง
var x = 500;
var y = new Number(500);
// (x == y) is true because x and y have equal values
ลองตัวเอง» เมื่อใช้ประกอบ === เสมอภาคเท่ากับจำนวนไม่เท่ากันเพราะผู้ประกอบการคาดว่า === เท่าเทียมกันทั้งในประเภทและความคุ้มค่า
ตัวอย่าง
var x = 500;
var y = new Number(500);
// (x === y) is false because x and y have different types
ลองตัวเอง» หรือแย่ลง วัตถุที่ไม่สามารถเทียบ:
ตัวอย่าง
var x = new Number(500);
var y = new Number(500);
// (x == y) is false because objects cannot be compared
ลองตัวเอง» วัตถุ JavaScript ไม่สามารถเทียบ
ทดสอบด้วยตัวเองด้วยการออกกำลังกาย!
การใช้สิทธิ 1 » ออกกำลังกาย 2 » ออกกำลังกาย 3 » 4 การออกกำลังกาย»