Python math trunc() — это встроенная математическая функция для округления чисел, которая ведет себя как floor(), когда данный ввод положительный, с другой стороны, она работает как ceil(), когда заданный ввод отрицательный.
Мы знаем, что функция floor() используется для округления до отрицательной бесконечности, а ceil() используется для округления до положительной бесконечности. Но здесь функция представляет собой комбинацию обоих.
Что такое функция trunc() в Python?
Метод Python trunc() или функция truncate — это одна из математических функций Питона, используемая для удаления десятичных значений из определенного выражения и возврата целочисленного значения. Эта функция находится в математической библиотеке Python, поэтому нам нужно импортировать math модуль, когда мы хотим ее использовать.
Синтаксис
|
1 |
Эта функция принимает только один аргумент. Здесь число может быть положительным или отрицательным.
Возвращаемое значение
Эта функция возвращает положительное или отрицательное целое число в зависимости от заданного ввода. Но она всегда пытается округлить вверх или вниз до нуля.
Пример
См. следующий пример кода.
|
1 2 3 4 5 6 7 8 9 10 11 12 |
# Program to show the working of trunc # Using positive numbers import math # Pre defined value n = 10.5 # Showing working of floor print("Floor is: ", math.floor(n)) # Showing working of ceil print("Ceil is: ", math.ceil(n)) # Showing working of trunc print("Trunc is: ", math.trunc(n)) |
Вывод:
|
1 2 3 |
Floor is: 10 Ceil is: 11 Trunc is: 10 |
В приведенной выше программе мы присвоили значение n, а затем вызвали все три типа функций, чтобы вы поняли. Мы видим, что значение, возвращаемое функциями floor() и trunc(), одинаково, потому что trunc() также понижает число и floor().
Метод trunc() с отрицательным значением
См. следующий код.
|
1 2 3 4 5 6 7 8 9 10 11 12 |
# Program to show working of trunc # Using positive numbers import math # Taking imput from user n = float(input("Enter a negative number: ")) # Showing working of floor print("Floor is: ", math.floor(n)) # Showing working of ceil print("Ceil is: ", math.ceil(n)) # Showing working of trunc print("Trunc is: ", math.trunc(n)) |
Вывод:
|
1 2 3 4 5 6 7 8 9 10 11 12 |
# Program to show working of trunc # Using positive numbers import math # Taking imput from user n = float(input("Enter a negative number: ")) # Showing working of floor print("Floor is: ", math.floor(n)) # Showing working of ceil print("Ceil is: ", math.ceil(n)) # Showing working of trunc print("Trunc is: ", math.trunc(n)) |
Со значением Tuple и List
Давайте возьмем пример.
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
# app.py import math Tup =(21.98, 19.26, 11.05, -40.95 , 50.85) # Tuple Declaration Lis = [-21.98, 32.65, -39.29, -46.15 , -39.97] # List Declaration print('Python TRUNC() Function on Positive Decimal = %d' %math.trunc(21.98763)) print('Python TRUNC() Function on Negative Decimal = %d' %math.trunc(-15.48476)) print('Python TRUNC() Function on Tuple Item = %d' %math.trunc(Tup[2])) print('Python TRUNC() Function on Tuple Item = %d' %math.trunc(Tup[4])) print('Python TRUNC() Function on List Item = %d' %math.trunc(Lis[2])) print('Python TRUNC() Function on List Item = %d' %math.trunc(Lis[4])) print('Python TRUNC() Function on Multiple Number = %d' %math.trunc(21 + 19 - 40.6578)) print('Python TRUNC() Function on String Value = ', math.trunc('2.95')) |
Вывод:
|
1 2 3 4 5 6 7 8 9 10 11 12 |
python3 app.py Python TRUNC() Function on Positive Decimal = 21 Python TRUNC() Function on Negative Decimal = -15 Python TRUNC() Function on Tuple Item = 11 Python TRUNC() Function on Tuple Item = 50 Python TRUNC() Function on List Item = -39 Python TRUNC() Function on List Item = -39 Python TRUNC() Function on Multiple Number = 0 Traceback(most recent call last): File "app.py", line 16, in <module> print('Python TRUNC() Function on String Value = ', math.trunc('2.95')) TypeError: type str doesn't define __trunc__ method |
Заключение

В примере функции trunc() в Python:
- Мы использовали метод trunc() непосредственно как для положительных, так и для отрицательных десятичных знаков, используя input().
- Затем мы использовали метод trunc() для элементов Tuple и List. Если вы наблюдаете приведенный выше вывод, функция trunc() работает с ними правильно.
- Затем в той же программе мы попробовали функцию с несколькими значениями.
- В последнем операторе мы использовали функцию округления Python для значения String. Как мы уже говорили, он возвращает TypeError: тип str не определяет метод __trunc__ в качестве вывода.
