Рубрики
Без рубрики

Python Десятичная декорация – Отдел, раунд, точность

Python Pyrument, Python Division, Python Rounding, Python Picimation Precision, Python Decild Modical, Division Numbers Python, Python Decild Number Division Program.

Автор оригинала: Pankaj Kumar.

Памятичный модуль Python помогает нам в разделении с надлежащей точностью и округлением чисел.

Python десятичный модуль

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

Работа с десятичными числами

Десятичные числа – это просто номера с плавающей точкой с фиксированными десятичными точками. Мы должны правильно окружать цифры, основанные на нашей потребности, иначе результаты могут быть неожиданными. Десятичный модуль Python помогает нам быть более точным с десятичными числами.

Нужно в десятичном модуле

Перед тем, как на самом деле настроить этот модуль, давайте посмотрим, какую точность мы говорим и установите, почему нам действительно нужен этот модуль.

Посмотрите на следующий фрагмент кода:

division = 72 / 7
print(division)

Давайте посмотрим на вывод этой программы:

Ну, ответ был на самом деле не точен, и вообще не было десятичных баллов! Давайте посмотрим, как мы можем исправить это, используя десятичный модуль.

Использование десятичного модуля

Во всех программах мы делаем в этом посте, мы импортируем десятичный модуль во всех них:

import decimal

Это может быть так, что мы импортируем только определенную функцию из этого модуля. Это можно сделать как:

from decimal import Decimal

Давайте начнем поместить десятичный модуль в некоторые программы.

Пример десятичного модуля Python

Мы начнем с примеров, связанных с модулем сейчас.

Корректирующее разделение с десятиками

Здесь мы исправим программу, которую мы написали выше, чтобы выполнить подразделение, которое должно было произвести результат плавающего точка. Модифицированная программа с десятичным модулем будет выглядеть:

import decimal

division = decimal.Decimal(72) / decimal.Decimal(7)
print(division)

Давайте посмотрим на вывод этой программы: чтобы заметить, что дивизион сейчас правильно и точно точен, или, может быть, это слишком точно?

Управляющая точность для одной операции

В последней программе сейчас в ответ имеется 25 десятичных знаков. Но что, если мы хотели только до трех мест десятичных значений? Это может быть также контролируется. Здесь мы будем контролировать точность ответа, который не будет отражаться в других операциях в нашей программе:

import decimal

with decimal.localcontext() as ctx:
    ctx.prec = 3
    division = decimal.Decimal(72) / decimal.Decimal(7)
    print(division)

again = decimal.Decimal(72) / decimal.Decimal(7)
print(again)

Мы сделали операцию подразделения два раза, чтобы доказать точку. Давайте посмотрим на вывод для этой программы: что-то заметили? Прецизионная установка, которую мы действители только в течение одного времени. В следующий раз мы сделали дивизию, мы вернулись один и тот же результат.

Управляющая точность для полной программы

Также возможно контролировать точность глобально в программе. Это не рекомендуется все время, когда вы имеете дело с большим количеством номеров в вашей программе. Вот пример:

import decimal

decimal.getcontext().prec = 3

division = decimal.Decimal(72) / decimal.Decimal(7)
print(division)

again = decimal.Decimal(72) / decimal.Decimal(7)
print(again)

Давайте посмотрим на вывод этой программы:

Округление номеров

Можно изящно вокруг чисел с раунд (...) функция. Давай попробуем:

import decimal

#Can be rounded to 13.48 or 13.49
rounded = round(13.485, 2)
print(rounded)

Давайте посмотрим на вывод этой программы: Число в программе может быть округлено до 13,48 или 13,49. По умолчанию раунд (...) Функция раунды вниз. Это можно также быть изменено:

import decimal

#Can be rounded to 13.48 or 13.49
rounded = round(13.485, 2)
print(decimal.Decimal(rounded).quantize(decimal.Decimal('0.00'), rounding=decimal.ROUND_UP))

Давайте посмотрим на вывод этой программы:

Получение десятичного контекста Python

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

from decimal import *
print(getcontext())

Давайте посмотрим на вывод этой программы:

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