Подключиться через MCP →

Введите расчет

Математическая формула

Математическая формула: Конвертер даты в римские цифры
Show calculation steps (1)
  1. Roman to Arabic

    Roman to Arabic: Конвертер даты в римские цифры

    Scan left to right; if a symbol value is less than the value to its right, subtract it, otherwise add it.

Реклама

Результатов

Результат
XII_XXV_MMXXIV
строка даты после перевода
Часть даты Перевод
Месяц XII
День XXV
Год MMXXIV

Что такое конвертер даты в римские цифры?

Этот инструмент превращает обычную календарную дату в строку из римских цифр — например, XII_XXV_MMXXIV — и умеет работать в обратную сторону, переводя римские цифры в привычные арабские числа. Такой формат особенно популярен для татуировок, гравировки на украшениях, обручальных колец, подарков к годовщине и памятных надписей: даты римскими цифрами выглядят классически и вне времени.

Как пользоваться

Введите значение в каждое из полей «Месяц», «День» и «Год». Любое поле принимает либо арабское число (например, 12), либо римскую запись (например, XII) — конвертер сам определит, что вы ввели, и выдаст вторую форму. Так он работает в обе стороны, поле за полем. Выберите Формат, чтобы задать порядок трёх частей: US (месяц, день, год), EU (день, месяц, год) или ISO (год, месяц, день). Укажите Разделитель — символ между частями: точка, средняя точка, маркер, дефис, пробел, нижнее подчёркивание или слэш. Оставьте поле пустым — и эта часть просто не появится в результате.

Как это устроено

Для перевода из арабских чисел в римские используется стандартная вычитательная запись. Конвертер перебирает пары «значение — символ» по убыванию (1000=M, 900=CM, 500=D, 400=CD, 100=C, 90=XC, 50=L, 40=XL, 10=X, 9=IX, 5=V, 4=IV, 1=I) и каждый раз «жадно» добавляет самый крупный подходящий символ, вычитая его значение, пока ничего не останется:

$$n = \sum_{i} \text{symbol}_i \quad \text{(greedy subtractive: }1000{=}M,\ 900{=}CM,\ \dots,\ 1{=}I\text{)}$$

$$\text{while } n>0:\ \text{append largest symbol} \le n,\ n \mathrel{-}= \text{its value}$$

Для обратного перевода — из римских в арабские — он читает запись слева направо: если за символом следует больший символ, текущий вычитается (как в \(IX = 9\)), иначе прибавляется.

$$v = \sum_i \begin{cases} -s_i & s_i < s_{i+1} \\ +s_i & \text{otherwise} \end{cases}$$
Реклама
Таблица символов римских цифр и их значений, включая вычитательные пары
Семь римских символов и шесть вычитательных пар, используемых при жадном преобразовании.

Разбор на примере

Возьмём месяц=12, день=25, год=2024 в формате US с нижним подчёркиванием в качестве разделителя: 12 превращается в XII, 25 — в XXV, а 2024 — в MMXXIV (\(MM=2000\), \(XX=20\), \(IV=4\)). Соединив их в порядке US, получаем XII_XXV_MMXXIV. Переключите формат на ISO с точкой-разделителем — и выйдет MMXXIV.XII.XXV.

Дата, разбитая на день, месяц и год, каждый из которых переведён в римские цифры
Пример даты, разбитой на день, месяц и год: каждый преобразуется и соединяется разделителем.

Частые вопросы

Какое максимальное число можно перевести? 3999 (MMMCMXCIX). В классической системе римских цифр нет отдельного символа для 4000, поэтому большие значения не поддерживаются.

Можно ли показать год 0 или отрицательные числа? Нет. У римлян не было символа для нуля, а минимально возможное значение — 1.

Проверяет ли инструмент, что дата существует? Нет. Каждая часть переводится отдельно, поэтому конвертер спокойно переведёт «31-й день» во «2-м месяце» — это чистый конвертер чисел, а не проверка корректности календаря.

Последнее обновление: