BigInt และจำนวนเต็มที่ไม่สูญเสียหลัก
BigInt เก็บจำนวนเต็มขนาดใหญ่โดยไม่เสียหลักแบบ Number แต่ไม่รองรับทศนิยม เครื่องมือเลขฐานและ ห.ร.ม./ค.ร.น. ใช้ 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 ก่อน