Плавные значения с двойной точностью в Python?

Существуют ли типы данных с большей точностью, чем float?

5 Solutions collect form web for “Плавные значения с двойной точностью в Python?”

Десятичный тип данных

  • В отличие от аппаратной бинарной с плавающей запятой, десятичный модуль имеет изменяемую пользователем точность (по умолчанию – 28 мест), которая может быть такой же большой, как требуется для данной проблемы.

Если вы нажали на результаты работы, взгляните на GMPY

Встроенный float тип Python имеет двойную точность (это C double в CPython, Java double в Jython). Если вам нужна более numpy.float128 точность, получите NumPy и используйте numpy.float128 .

Для некоторых приложений вы можете использовать Fraction вместо чисел с плавающей запятой.

 >>> from fractions import Fraction >>> Fraction(1, 3**54) Fraction(1, 58149737003040059690390169) 

(Для других приложений есть decimal , как это было предложено другими ответами).

Возможно, вам понадобится Decimal

 >>> from decimal import Decimal >>> Decimal(2.675) Decimal('2.67499999999999982236431605997495353221893310546875') 

Арифметика с плавающей точкой

Вот мое решение. Сначала я создаю случайные числа с random.uniform, форматируем их в строку с двойной точностью, а затем конвертируем их обратно в float. Вы можете настроить точность, изменив «.2f» на «.3f» и т. Д.

 import random from decimal import Decimal GndSpeedHigh = float(format(Decimal(random.uniform(5, 25)), '.2f')) GndSpeedLow = float(format(Decimal(random.uniform(2, GndSpeedHigh)), '.2f')) GndSpeedMean = float(Decimal(format(GndSpeedHigh + GndSpeedLow) / 2, '.2f'))) print(GndSpeedMean) 
  • Каков максимальный масштаб точности времени, который может быть достигнут через Python?
  • Матричное умножение на CPU (numpy) и GPU (gnumpy) дает разные результаты
  • Различные std в pandas vs numpy
  • Как работает Rounding in Python?
  • Точность плавающей точки в массиве Python
  •  
    Interesting Posts for Van-Lav

    получить ошибки при импорте lxml.etree в python

    Почему значение __name__ меняется после присвоения sys.modules ?

    UnicodeEncodeError: кодек 'ascii' не может кодировать символ u '\ u2019' в позиции 126: порядковый номер не в диапазоне (128)

    Как подключиться к SQL Server высокой доступности из Python + SQL Алхимия

    Кодирование темы почты (SMTP) в Python с символами, отличными от ASCII

    Почему этот код медленнее в Cython, чем в Python?

    Python wmi c.Win32_PerfFormattedData_PerfOS_Processor win7 error

    Python: почему распечатываемые заявления и вывод subprocess.call () не синхронизированы?

    Подсчет изменений значения в каждом столбце в кадре данных в пандах

    Python: Как создать простые веб-страницы без огромной структуры?

    Откуда это происходит: – * – кодирование: utf-8 – * –

    "найти . -regex … "в Python или Как найти файлы, чье имя (путь + имя) соответствует регулярному выражению?

    Почему я не могу изменить python по умолчанию, как Apple говорит, что я могу?

    Box Api v2 Версия SSL Python

    Репликация строк в кадре данных pandas значением столбца

    Python - лучший язык программирования в мире.