Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Industrial programming >> Python

Функция round() в Python: подробное объяснение с практическими примерами

Функция round() в Python: подробное объяснение

Встроенная функция round() — основной инструмент для числовых работ в Python. Она возвращает значение, округлённое до указанного количества десятичных знаков, по умолчанию округляя до ближайшего целого, если точность не задана.

Синтаксис

round(number, ndigits=None)

Возвращаемое значение

Когда ndigits опущен, round() возвращает int. Если ndigits задан, результат — float, округлённый до этой точности.

Правила округления

Почему округление важно: реальный пример

На финансовых рынках округление может влиять на миллионы долларов в торговле. Например, Ванкуверская фондовая биржа в 1982 году усекала цены сделок до трёх десятичных знаков, что привело к накопительной ежемесячной потере около 25 пунктов. Округление вместо усечения даёт гораздо более точные результаты.

# Пример: Усечение против округления
import random

def truncate(num):
    return int(num * 1000) / 1000

arr = [random.uniform(0.01, 0.05) for _ in range(1_000_000)]

# Усечение
sum_truncate = 0
for val in arr:
    sum_truncate = truncate(sum_truncate + val)

# Округление
sum_round = 0
for val in arr:
    sum_round = round(sum_round + val, 3)

print("Truncated sum:", sum_truncate)
print("Rounded sum:", sum_round)

Усечённая сумма может отклоняться на сотни единиц, тогда как округление удерживает отклонение в долях единицы.

Распространённые сценарии использования

Округление чисел с плавающей точкой

# Базовое округление
print(round(10.60))      # 11
print(round(10.40))      # 10
print(round(10.3456, 2)) # 10.35
print(round(10.3445, 2)) # 10.34

Округление целых чисел

print(round(15))  # 15

Округление отрицательных чисел

print(round(-2.8))  # -3
print(round(-1.5))  # -2

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

import numpy as np
arr = [-0.341111, 1.455098989, 4.232323, -0.3432326, 7.626632, 5.122323]
print(np.round(arr, 2))  # [-0.34 1.46 4.23 -0.34 7.63 5.12]

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

Модуль decimal обеспечивает более тонкий контроль над режимами округления.

import decimal
num = decimal.Decimal('15.456')
print(num.quantize(decimal.Decimal('0.00'), rounding=decimal.ROUND_HALF_UP))  # 15.46

Ключевые выводы

Python

  1. Lambda-функции в Python: практическое руководство по анонимным функциям
  2. Генераторы в Python: эффективная итерация и продвинутые сценарии
  3. Замыкания в Python: как вложенные функции захватывают переменные
  4. Декораторы в Python: улучшайте функции экспертными техниками
  5. Перегрузка операторов в C++: практическое руководство с примерами кода
  6. Функции в C++: подробное объяснение с практическими примерами кода
  7. Функция print() в Python: практическое руководство с примерами
  8. Мастерство метода strip() в Python: подробное руководство и практические примеры
  9. Мастерство метода str.count() в Python: как подсчитывать символы и подстроки с примерами
  10. Мастерство строк форматирования format() в Python: понятные примеры