ฟังก์ชัน modf() ของคณิตศาสตร์ ซึ่งเป็นโมดูลมาตรฐานสำหรับฟังก์ชันทางคณิตศาสตร์ใน Python สามารถใช้เพื่อรับส่วนจำนวนเต็มและทศนิยมของตัวเลขได้พร้อมกัน
ดูบทความต่อไปนี้สำหรับ divmod() ซึ่งรับผลหารและส่วนที่เหลือของการหารพร้อมกัน
รับจำนวนเต็มและส่วนทศนิยมโดยไม่ต้องใช้โมดูลคณิตศาสตร์
การใช้ int() กับประเภททศนิยมแบบทศนิยมจะทำให้ได้ค่าจำนวนเต็มโดยที่จุดทศนิยมถูกตัดออก สามารถใช้เพื่อรับส่วนจำนวนเต็มและส่วนทศนิยม
a = 1.5
i = int(a)
f = a - int(a)
print(i)
print(f)
# 1
# 0.5
print(type(i))
print(type(f))
# <class 'int'>
# <class 'float'>
รับจำนวนเต็มและทศนิยมของตัวเลขพร้อมกันด้วย math.modf()
ฟังก์ชัน modf() ในโมดูลคณิตศาสตร์สามารถใช้เพื่อรับส่วนจำนวนเต็มและทศนิยมของตัวเลขได้พร้อมกัน
math.modf() คืนค่า tuple ต่อไปนี้ สังเกตลำดับ เนื่องจากส่วนทศนิยมมาก่อน
(decimal, integer)
import math
print(math.modf(1.5))
print(type(math.modf(1.5)))
# (0.5, 1.0)
# <class 'tuple'>
แต่ละส่วนสามารถคลายแพ็กและกำหนดให้กับตัวแปรแยกกันได้ดังนี้ ทั้งส่วนจำนวนเต็มและทศนิยมเป็นประเภททศนิยม
f, i = math.modf(1.5)
print(i)
print(f)
# 1.0
# 0.5
print(type(i))
print(type(f))
# <class 'float'>
# <class 'float'>
เครื่องหมายจะเหมือนกับเครื่องหมายของค่าเดิมสำหรับทั้งส่วนจำนวนเต็มและทศนิยม
f, i = math.modf(-1.5)
print(i)
print(f)
# -1.0
# -0.5
ใช้ได้กับประเภท int ในกรณีนี้ ทั้งส่วนจำนวนเต็มและทศนิยมเป็นประเภททศนิยม
f, i = math.modf(100)
print(i)
print(f)
# 100.0
# 0.0
สามารถใช้วิธีการต่อไปนี้เพื่อตรวจสอบว่าประเภททศนิยมเป็นจำนวนเต็มหรือไม่ (เช่น ส่วนทศนิยมคือ 0) โดยไม่ได้รับส่วนทศนิยม ดูบทความต่อไปนี้
float.is_integer()
- ที่เกี่ยวข้อง:การพิจารณาว่าตัวเลขเป็นจำนวนเต็มหรือทศนิยมใน Python