Обрежьте число и получите удаленное значение.Или приведен к int? - PullRequest
1 голос
/ 26 мая 2019

Я пытаюсь получить удаленную часть функции math.trunc.Или функция поддерживает этот запрос.

import math
number = 1.9
newnumber, removed = math.trunc(number)

Мне нужно число = 1, а также удаленное 0.9 Так что в основном мне нужно целое число и удаленное число с плавающей точкой.

Пример вышене подойдет: / Есть предложения?

Ответы [ 3 ]

3 голосов
/ 26 мая 2019

Вам нужно сохранить указатель на усеченном числе и вычесть его из исходного числа:

import math
number = 1.9
truncated = math.trunc(number)
print(truncated, number - truncated)
3 голосов
/ 26 мая 2019

Если вы используете modf, вы можете изменить порядок переменных и получить желаемый результат.

import math
number = 1.9
removed, newnumber = math.modf(number)
1 голос
/ 26 мая 2019

Для начальной точки используйте модуль 1, чтобы получить удаленную часть.

def truncate(n):
    return math.trunc(n), n % 1

Затем вы хотите рассмотреть, как обрабатываются отрицательные числа.Они возвращают положительное «удаленное» значение?

Этот метод не будет работать для отрицательных чисел, вместо этого вы можете вычесть число усеченных из оригинала:

t = math.trunc(n)
return t, n - t
...