Это страница документации Модуль:Math.
Внимание! Это один из самых используемых модулей. |
Прежде чем вносить какие-либо изменения в этот модуль, просьба оттестировать их в /песочнице и проверить результат на странице с /контрольными примерами. Вносить тестированные изменения в этот модуль следует ровно одной правкой. |
Файл:OOjs UI icon info.svg |
Этот модуль содержит некоторые основные математические функции.
Вызываемые функции
random
{{#invoke:math|random}} {{#invoke:math|random|A}} {{#invoke:math|random|A|B}}
Интерфейс к функции math.random()
стандартной библиотеки Lua. Выдаёт число из полуинтервала [0,1) или интервалов [0,A] или [A,B], смотря сколько параметров задано.
max
min
Максимальный и минимальный из нумерованных параметров #invoke, а при их отсутствии — вызывающего шаблона.
round
Округляет первый параметр или value
до количества знаков второго или precision
, 0.5 последнего разряда округляется до 1, меньшие числа — до 0.
order
{{#invoke:math|order|A}}
Порядок (округлённый вниз десятичный логарифм модуля или 0 для 0) числа, заданного аргументом 1 или x
.
precision
Точность числа (младший значащий разряд). С параметром check_fraction
, заданным и не равным пустой строке, 0
, false
или no
, понимает простые дроби и возвращает десятичный логарифм делителя.
precision_format
Аргументы как в предыдущей. Форматирует число согласно текущему языку страницы (в русской Википедии это русский), использует типографский минус «−» и нотацию «·10x».
Roman
Римские цифры для целых чисел от 1 до 4999999.
- Примеры вызовов
{{#invoke:Math|Roman|156}}
даст CLVI
{{#invoke:Math|Roman|4999999}}
даст MMMMCMXCVMMMMCMXCIX
Russian
Выводит заданное число прописью (словами) на русском языке. Не преобразовывает нецелые числа.
- Примеры вызовов
{{#invoke:Math|Russian|1,5}}
даст одна целая и пять десятых
{{#invoke:Math|Russian|1.5}}
даст одна целая и пять десятых
{{#invoke:Math|Russian|987654321}}
даст девятьсот восемьдесят семь миллионов шестьсот пятьдесят четыре тысячи триста двадцать один
Экспортируемые функции
_cleanNumber(frame, x)
Первый параметр — требуемый фрейм, второй — число в строке. Возвращает два значения: первое — число, полученное применением функции tonumber()
, а при её неуспехе — {{#expr}} к аргументу x; второй — подрезанная от пробелов исходная строка. Используется внутри модуля для всех принимаемых числовых параметров.
_order(n)
Порядок числа n.
_precision(x)
Точность числа, записанного в строке x (десятичная дробь, возможен экспоненциальный вид через [eE]
).
_round(value, precision)
Округление по границе 0,5, аргументы — числа.