JavaScript มีเงื่อนไขทศนิยมหลายประการที่การคูณการคูณของหมายเลขลอยตัว
นี่เป็นเพราะหมายเลขจุดลอยตัวจะถูกแปลงเป็นไบนารีหลังการดำเนินการ แต่ทศนิยมบางตัวมีการไหลเวียนไม่สิ้นสุดหลังจากการเข้ารหัสไบนารีซึ่งทำให้เกิดข้อผิดพลาดในการคำนวณและมีปัญหาที่คล้ายกันในภาษาอื่น
คำอธิบายเหตุผลหมายถึงจาก Baidu ที่จะรู้:
ตัวอย่างเช่น: 1038.1-1000
1038.1 = 10000001110.00011001100110011001100110011001001100100 .....
1000 = 1111101000
1038.1 การแปลงเป็นไบนารีเป็นทศนิยมวัฏจักรที่ไม่มีที่สิ้นสุด เป็นเลขฐานเลขทศนิยมที่ระบุ
การแก้ปัญหา: ขึ้นอยู่กับตัวเลขทศนิยม (เช่น 4) ที่จะเก็บไว้ให้คูณครั้งแรก (10^4) เมื่อคำนวณผลิตภัณฑ์จากนั้นหารผลการคำนวณ (10^4) และในที่สุดก็ใช้ผลลัพธ์ของคณิตศาสตร์ค่าผลลัพธ์ วงดนตรี
คัดลอกรหัสรหัสดังนี้:
var m1 = 2232.00
เปอร์เซ็นต์ = (10/100)
ทั้งหมด = เปอร์เซ็นต์*m1;
การแจ้งเตือน (ทั้งหมด); // 223.20000000000000002
Total = Math.round (รวม*10)/10;
การแจ้งเตือน (ทั้งหมด); // 223.2