Иногда выводит вместо целого числа что-то вроде x.9999999999
Я написал функцию, которая выбирает случайное число с определённой точностью. Мой код:
import random
def choose(_min, _max, precise = 1):
if precise != int(precise):
print("Expected an integer precise")
exit()
else:
if _min < _max:
_min *= 10**precise
_max *= 10**precise
(_min, _max) = (int(_min), int(_max))
number = random.randint(_min, _max)
number /= 10**precise
if float(number) == int(number):
number = int(number)
return number
# ниже я тестировал функцию
r = choose(1, 10**10, -9)
print(r)
Однажды прогнал код и получил результат:
7999999999.999999
вместо ожидаемого 8000000000. Как это исправить?