Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

วิธีปัดเศษตัวเลขใน Python


Python มีฟังก์ชัน Built-in ชื่อ round() สำหรับปัดเศษตัวเลข

เมธอด round() ใน Python รับ 2 พารามิเตอร์ −

  • ตัวแรกคือตัวเลขที่ต้องการปัดเศษ

  • ตัวที่สองระบุจำนวนหลักที่ต้องการปัดเศษ

ที่นี่ พารามิเตอร์ตัวที่สองเป็น Optional

หากไม่ระบุพารามิเตอร์ตัวที่สอง เมธอด round() จะคืนค่า Integer โดยใช้ floor() และ ceil()

มันจะดูตัวเลขหลังจุดทศนิยม

  • หากน้อยกว่า 5 จะคืนค่า floor() ของตัวเลขที่ส่งเข้า

  • หากมากกว่า 5 จะคืนค่า ceil() ของตัวเลขที่ส่งเข้า

  • หากส่ง Integer เข้าไป ตัวเลขเดิมจะถูกคืนค่า

จะเข้าใจง่ายขึ้นจาก Implementation ด้านล่าง −

ฟังก์ชัน round() เมื่อไม่มีพารามิเตอร์ตัวที่สอง

ส่งตัวเลขที่ต้องการปัดเศษให้ฟังก์ชัน round() ผลลัพธ์ของ round() ในกรณีนี้จะเป็น Integer เสมอ

มาลองเข้าใจด้วยตัวอย่าง

ตัวอย่าง

print(round(15))
print(round(15.2))
print(round(15.8))
print(round(15.128))
print(round(15.89))

ผลลัพธ์

15
15
16
15
16

คำอธิบาย

คำอธิบายของ Print Statements ทั้งหมด −

  • ส่ง Integer 15 เข้าไป ตัวเลขเดิมถูกคืนค่า ดังนั้น Output 15

  • ส่ง 15.2 เข้าไป ตัวเลขหลังจุดทศนิยมน้อยกว่า 5 ดังนั้น Floor ของ 15.2 ถูกคืนค่า Output 15

  • ส่ง 15.8 เข้าไป ตัวเลขหลังจุดทศนิยมมากกว่า 5 ดังนั้น Ceil ของ 15.8 ถูกคืนค่า Output 16

  • ส่ง 15.128 เข้าไป ตัวเลขหลังจุดทศนิยมน้อยกว่า 500 ดังนั้น Floor ของ 15.128 ถูกคืนค่า Output 15

  • ส่ง 15.89 เข้าไป ตัวเลขหลังจุดทศนิยมมากกว่า 50 ดังนั้น Ceil ของ 15.89 ถูกคืนค่า Output 16

Note: ผลลัพธ์ทั้งหมดเป็นค่า Integer

ฟังก์ชัน round() เมื่อมีพารามิเตอร์ตัวที่สอง

พารามิเตอร์ตัวที่สองระบุจำนวนหลักที่ต้องการปัดเศษ

ตัวอย่าง

print(round(15,2))
print(round(15.2789,3))
print(round(15.82,1))
print(round(15.128,2))
print(round(15.8902,2))

ผลลัพธ์

15
15.279
15.8
15.13
15.89

การทำงานของ round() ในกรณีนี้ เหมือนกับการคำนวณปัดเศษทางคณิตศาสตร์

ในกรณีค่า Integer จะคืนค่า Integer เดิม มิฉะนั้น จะคืนค่า Floating Point ที่ปัดเศษตามจำนวนหลักที่ระบุ

คำอธิบาย

  • ตัวเลขคือ 15.2789 และจำนวนหลักคือ 3 หลักที่ 4 หลังจุดทศนิยมมากกว่า 5 ดังนั้นหลักที่ 3 (หลักสุดท้ายที่ระบุ) จะเพิ่มขึ้น 1 ผลลัพธ์คือ 15.279

  • ตัวเลขคือ 15.82 และจำนวนหลักคือ 1 หลักที่ 2 หลังจุดทศนิยมน้อยกว่า 5 ดังนั้นหลักที่ 1 ไม่เพิ่มขึ้น ผลลัพธ์คือ 15.8