คำถามติดแท็ก floating-point

1
ผลรวมของการลอยตัวแบบไม่กำหนดค่า
ผมขอรัฐกำปั้นชัดเจน: ฉันสมบูรณ์เข้าใจว่าลอยชนิดจุดไม่ถูกต้องแทนค่าทศนิยม นี่ไม่เกี่ยวกับเรื่องนั้น! อย่างไรก็ตามการคำนวณจุดลอยตัวควรจะถูกกำหนดไว้ล่วงหน้า ตอนนี้มันออกไปให้ฉันแสดงให้คุณเห็นกรณีแปลก ๆ ที่ฉันสังเกตเห็นในวันนี้ ฉันมีรายการค่าจุดลอยตัวและฉันต้องการรวมค่าเหล่านี้: CREATE TABLE #someFloats (val float); INSERT INTO #someFloats (val) VALUES (1), (1), (1.2), (1.2), (1.2), (3), (5); SELECT STR(SUM(#someFloats.val), 30, 15) FROM #someFloats; DROP TABLE #someFloats; -- yields: -- 13.600000000000001 จนถึงตอนนี้ดีมาก - ไม่น่าประหลาดใจที่นี่ เราทุกคนรู้ว่า1.2ไม่สามารถแสดงได้อย่างแน่นอนในการเป็นตัวแทนไบนารีดังนั้นคาดว่าจะได้ผลลัพธ์ที่ "ไม่ชัดเจน" ต่อไปนี้เป็นสิ่งที่แปลกประหลาดเกิดขึ้นเมื่อฉันออกจากโต๊ะอื่น: CREATE TABLE #A (a int); INSERT …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.