2
JavaScript เป็น C # การสูญเสียความแม่นยำเชิงตัวเลข
เมื่อซีเรียลไลซ์และค่าดีซีเรียลไลซ์ระหว่าง JavaScript และ C # โดยใช้ SignalR กับ MessagePack ฉันเห็นการสูญเสียความแม่นยำเล็กน้อยใน C # เมื่อสิ้นสุดการรับ ตัวอย่างเช่นฉันส่งค่า 0.005 จาก JavaScript ไปยัง C # เมื่อค่า deserialized ปรากฏขึ้นในด้าน C # ฉันได้รับค่า0.004999999888241291ซึ่งอยู่ใกล้ แต่ไม่ใช่ 0.005 คุ้มค่าในด้าน JavaScript เป็นNumberและที่ด้านข้าง C # doubleฉันใช้ ฉันได้อ่านแล้วว่าจาวาสคริปต์ไม่สามารถแสดงตัวเลขทศนิยมได้อย่างแม่นยำซึ่งสามารถนำไปสู่ผลลัพธ์เช่น0.1 + 0.2 == 0.30000000000000004นั้น ฉันสงสัยว่าปัญหาที่ฉันเห็นเกี่ยวข้องกับคุณสมบัติของ JavaScript นี้ ส่วนที่น่าสนใจคือฉันไม่ได้เห็นปัญหาแบบเดิม ๆ การส่ง 0.005 จาก C # ถึง …