>> ลำโพง 1: สมมติว่าผมอยากจะเขียน โปรแกรมที่พิมพ์ออกลอย,
โดยเฉพาะผล การแบ่ง 1 10
ดีสัญชาตญาณแรกของฉันจะไป เขียนโปรแกรมนี้ดังต่อไปนี้
ลอยฉเท่ากับ 1 หารด้วย 10 และจากนั้น พิมพ์ f ของ .1 ร้อยละฉจึง
แสดงว่าฉันต้องการที่จะพิมพ์ ลอยไปยังสถานที่ทศนิยมหนึ่ง
เครื่องหมายจุลภาค n ฉ
ตอนนี้ขอรวบรวมโปรแกรมนี้
ให้ลอย 0 จุดเฉือนลอย 0
>> ดีที่ไม่ถูกต้องนัก
ผมค่อนข้างแน่ใจว่า 1 หารด้วย 10 หรือ 1/10 ไม่ได้เป็น 0.0 แต่ 0.1 และยัง
ที่นี่ฉันเห็นบนหน้าจอ 0.0
สิ่งที่เกิดขึ้น?
ดีก็ปรากฎว่าในคถ้า คุณแบ่ง int โดย int,
คุณจะได้รับกลับ int
และดังนั้นแม้ว่า 1 หารด้วย 10 แน่นอน 0.10, 0.1 ไม่สามารถใส่ใน int,
และเพื่อให้สิ่งที่ไม่คมันตัดทอนหรือ พ่นออกทุกอย่างหลังจาก
ตำแหน่งทศนิยมจึงออกจาก เรามีเพียง 0
>> แต่แล้วแน่นอนกับการพิมพ์ฉเรา ระบุว่าเราต้องการที่จะพิมพ์ f เพื่อ
ทศนิยมหนึ่งและเพื่อให้ 0 จะแสดงเป็น 0.0
ดีอย่างเห็นได้ชัดนี้เป็นปัญหา ที่ต้องการแก้ปัญหา