Как преобразовать римское число в целое в PHP?

Используя PHP, я хотел бы преобразовать строку, содержащую римское число, в ее целочисленное представление. Мне это нужно, потому что мне нужно произвести на них вычисления.

Википедия по римским цифрам

Достаточно распознать только основные символы римских цифр, например:

$roman_values=array(
    'I' => 1,
    'V' => 5,
    'X' => 10,
    'L' => 50,
    'C' => 100,
    'D' => 500,
    'M' => 1000,
);

Это означает, что максимально возможное число - 3999 (MMMCMXCIX) . Я буду использовать N для обозначения нуля, кроме того, что поддерживаются только положительные целые числа.

Я не могу использовать библиотеку PEAR для римских чисел.

Я нашел этот отличный вопрос о том, как проверить, содержит ли строка действительную римскую цифру:

Как сопоставить только действительные римские числа с обычными выражение?

Как лучше всего это кодировать?

26
задан Community 23 May 2017 в 12:10
поделиться