VOOZH about

URL: https://www.geeksforgeeks.org/python/python-modf-function/

⇱ modf() function - Python - GeeksforGeeks


  • Courses
  • Tutorials
  • Interview Prep

modf() function - Python

Last Updated : 21 Feb, 2025

modf() function is an inbuilt function in Python that returns the fractional and integer parts of the number in a two-item tuple. Both parts have the same sign as the number. The integer part is returned as a float.

Example:


Output
math.modf(100.12) : (0.12000000000000455, 100.0)
math.modf(-100.72) : (-0.7199999999999989, -100.0)
math.modf(2) : (0.0, 2.0)

Explanation

  • math.modf(100.12): fractional part is 0.12000000000000455, and the integer part is 100.0.
  • math.modf(-100.72): fractional part is -0.7199999999999989, and the integer part is -100.0.
  • math.modf(2): Since 2 is an integer, the fractional part is 0.0, and the integer part is 2.0.

Syntax of modf() function:

modf(number)

Parameter

  • There is only one mandatory parameter which is the number.

Return Type

  • This method returns the fractional and integer parts of number in a two-item tuple. Both parts have the same sign as the number. The integer part is returned as a float.

TypeError: If anything other than a float number is passed, it returns a type error.

Examples of modf() function

1. Using invalid String type

This code demonstrates the error when attempting to use modf() with an invalid type (string instead of a float). It returns a TypeError.

Output : 

Traceback (most recent call last):
File "/home/fa6d7643de17bafe9a0e0693458e4bdb.py", line 9, in
print("math.modf(100.12) : ", math.modf("100.12"))
TypeError: a float is required

2. Using modf() with Lists and Tuples

This code demonstrates the usage of the modf() function on elements of a list and a tuple, printing the fractional and integer parts for each.


Output
modf() on First list element : (0.1200000000000001, 3.0)
modf() on third list element : (0.25, 13.0)
modf() on Second tuple element : (-0.25, -15.0)
modf() on Fourth tuple element : (-0.1999999999...

Explanation:

  • modf(lst[0]) splits 3.12 into 0.11999999999999922 (fractional) and 3.0 (integer).
  • modf(lst[2]) splits 13.25 into 0.25 (fractional) and 13.0 (integer).
  • modf(tpl[1]) splits -15.25 into -0.25 (fractional) and -15.0 (integer).
  • modf(tpl[3]) splits -31.2 into -0.20000000000000284 (fractional) and -31.0 (integer).

3. Multiplying Fractional Parts

This code demonstrates the application of the modf() function by multiplying the fractional parts of two floating-point numbers.


Output
0.05999999999999993

Explanation:

  • The program uses modf() to extract the fractional parts of 11.2 and 12.3.
  • It multiplies the fractional parts and prints the result: 0.05999999999999949.
Comment
Article Tags: