คำศัพท์Developer Tools

BigInt และจำนวนเต็มที่ไม่สูญเสียหลัก

BigInt เก็บจำนวนเต็มขนาดใหญ่โดยไม่เสียหลักแบบ Number แต่ไม่รองรับทศนิยม เครื่องมือเลขฐานและ ห.ร.ม./ค.ร.น. ใช้ BigInt พร้อมจำกัดความยาวข้อมูลเพื่อไม่ให้เบราว์เซอร์ทำงานหนักเกินไป

ภาพประกอบ BigInt และจำนวนเต็มที่ไม่สูญเสียหลัก

เก็บจำนวนเต็มโดยไม่สูญเสียหลัก

BigInt ใช้แทนจำนวนเต็มขนาดใหญ่ ส่วน Number รับประกันจำนวนเต็มได้ถึง 9,007,199,254,740,991 ในด้านบวก การอ่านข้อมูลจากข้อความเป็น BigInt โดยตรงจึงสำคัญ ถ้าแปลงผ่าน Number จนปัดไปแล้ว BigInt ไม่สามารถกู้หลักเดิมได้

ตัวอย่างจากเครื่องมือเลขฐาน

9007199254740993 ฐานสิบแปลงเป็น 20000000000001 ฐานสิบหก โดยต้องเก็บหลักท้ายไว้ตรงกับต้นฉบับ การนำเลขยาวไปวางในตารางที่ปรับเป็นตัวเลขอัตโนมัติอาจทำให้เปลี่ยนก่อนมาถึงเครื่องมือ ควรเก็บเป็นข้อความตั้งแต่ต้น

ขอบเขตที่ยังต้องตรวจ

BigInt ไม่รองรับจุดทศนิยมและไม่ใช่รูปแบบ signed binary แบบกำหนดความกว้างบิต เครื่องมือจำกัดจำนวนหลักเพื่อควบคุมทรัพยากร ไม่ได้หมายความว่ารับไฟล์ขนาดใดก็ได้ หากโจทย์เป็นเงินหรือเศษส่วนต้องเลือกวิธีแทนข้อมูลตามความหมาย ไม่ตัดทศนิยมทิ้งเพียงเพื่อใช้ BigInt

ลอง แปลงเลขฐาน และ ห.ร.ม./ค.ร.น. อ่าน หลักการเลขฐาน · คู่มือ ห.ร.ม. · MDN: BigInt

คำถามที่พบบ่อย

BigInt และจำนวนเต็มที่ไม่สูญเสียหลัก หมายถึงอะไร?

BigInt เก็บจำนวนเต็มขนาดใหญ่โดยไม่เสียหลักแบบ Number แต่ไม่รองรับทศนิยม เครื่องมือเลขฐานและ ห.ร.ม./ค.ร.น. ใช้ BigInt พร้อมจำกัดความยาวข้อมูลเพื่อไม่ให้เบราว์เซอร์ทำงานหนักเกินไป

มีตัวอย่างอย่างไร?

จำนวน 9007199254740993 เกินช่วงจำนวนเต็มที่ Number รับประกันความแม่นยำ จึงควรอ่านจากข้อความเป็น BigInt โดยตรง ไม่ผ่าน Number ก่อน

เครื่องมือที่เกี่ยวข้อง

← ดูบทความทั้งหมด