Как предотвратить преобразование десятичного числа в int при выполнении математики в Python? - PullRequest
0 голосов
/ 29 декабря 2018

Как предотвратить преобразование Decimal в int при выполнении математических операций (выполнение функций, таких как // или *) в Python?

Чтобы получить ввод в виде десятичного числа,Я использую Decimal из decimal модуля.

Когда я делаю

from decimal import Decimal

foo = Decimal(input())

И вводим 3.8, выводится 3.8, что верно.Однако, когда я добавляю математическую функцию, такую ​​как

print (foo // 2)

, в мой код, она выводит 1, тогда как она должна выводить 1.4.

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

1 Ответ

0 голосов
/ 29 декабря 2018

Не используйте //, просто используйте /.// это этажное деление.Это делит и возвращает целочисленное значение фактора.Он сбрасывает цифры после десятичной дроби.

...