Используя PHP, я хотел бы преобразовать строку, содержащую римское число, в его целочисленное представление.Я нуждаюсь в этом, потому что мне нужно делать вычисления на них.
Википедия по римским цифрам
Достаточно будет распознавать только основные символы римских цифр, например:
$roman_values=array(
'I' => 1,
'V' => 5,
'X' => 10,
'L' => 50,
'C' => 100,
'D' => 500,
'M' => 1000,
);
Это означает, что максимально возможное число равно 3999 (MMMCMXCIX).Я буду использовать N
для представления нуля, за исключением того, что поддерживаются только положительные целые числа.
Я не могу использовать библиотеку PEAR для римских чисел.
Я нашел этот замечательный вопрос о том, как SOчтобы проверить, содержит ли строка действительные римские цифры:
Как сопоставить только действительные римские цифры с регулярным выражением?
Какой будет лучший способ кодированияэто?