Ruby:
การปัดเศษของตัวเลข
วิธีการ:
# การปัดเศษพื้นฐาน
puts 3.14159.round # => 3
puts 2.6.round # => 3
# การระบุความแม่นยำ
puts 3.14159.round(2) # => 3.14
puts 2.675.round(2) # => 2.68
# การปัดลง
puts 2.9.floor # => 2
# การปัดขึ้น
puts 2.1.ceil # => 3
# การปัดไปทางศูนย์
puts -2.9.round # => -3
puts -2.9.truncate # => -2
ผลลัพธ์ตัวอย่าง:
3
3
3.14
2.68
2
3
-3
-2
ลงลึก
การปัดเศษตัวเลขไม่ใช่เรื่องใหม่—มนุษย์ทำแบบนี้มาหลายศตวรรษแล้วเพื่อทำให้การคำนวณง่ายขึ้นหรือเพื่อทำงานในขีดจำกัดของเครื่องมือของพวกเขา ใน Ruby, วิธี round
มีความหลากหลาย, ด้วยความสามารถในการปัดเศษไปยังตัวเลขเต็มที่ใกล้ที่สุดโดยค่าเริ่มต้นหรือไปยังทศนิยมที่ระบุ
ทางเลือกของ round
คือ floor
สำหรับการปัดเศษลงเสมอ และ ceil
สำหรับการปัดเศษขึ้นเสมอ ไม่ว่าค่าของตัวเลขจะเป็นอย่างไร หากต้องการตัดทศนิยมออกเท่านั้น คุณมี truncate
ในอดีต, เมื่อมาถึงคอมพิวเตอร์ การปัดเศษเป็นเรื่องสำคัญในการจัดการกับคณิตศาสตร์ทศนิยมลอยเนื่องจากความไม่แม่นยำที่เกิดขึ้นเป็นพื้นฐาน Ruby, เช่นเดียวกับภาษาส่วนใหญ่ ปฏิบัติตามมาตรฐาน IEEE 754 สำหรับตัวเลขทศนิยมลอย ซึ่งหมายความว่ามันจัดการกับการปัดเศษในวิธีที่โปรแกรมเมอร์ส่วนใหญ่คาดหวังและพึ่งพาได้
อย่างไรก็ตาม ยังมีอะไรมากกว่านั้น—เรื่องเช่น การปัดเศษแบบนายธนาคาร (ที่รู้จักกันว่าเป็นการปัดเศษไปทางครึ่งให้เป็นคู่) เป็นแนวคิดที่นักพัฒนา Ruby อาจต้องดำเนินการด้วยตัวเอง เนื่องจากวิธี round
ไม่ได้เสนอมันออกมาตรงๆ
ดูเพิ่มเติม
- เอกสาร Ruby Documentation สำหรับวิธี
round
ของ Floats. - มาตรฐาน IEEE สำหรับคณิตศาสตร์ทศนิยมลอย (IEEE 754).
- ความเข้าใจเกี่ยวกับความแม่นยำของจุดทศนิยมลอย, เพื่อข้อมูลเจาะลึกเพิ่มเติมเกี่ยวกับวิธีการจัดการตัวเลขทศนิยมของคอมพิวเตอร์.