<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>https://vion.tail5ecd76.ts.net/index.php?action=history&amp;feed=atom&amp;title=%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C%3ARomanConvert</id>
	<title>Модуль:RomanConvert - История изменений</title>
	<link rel="self" type="application/atom+xml" href="https://vion.tail5ecd76.ts.net/index.php?action=history&amp;feed=atom&amp;title=%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C%3ARomanConvert"/>
	<link rel="alternate" type="text/html" href="https://vion.tail5ecd76.ts.net/index.php?title=%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:RomanConvert&amp;action=history"/>
	<updated>2026-11-07T19:23:01Z</updated>
	<subtitle>История изменений этой страницы в вики</subtitle>
	<generator>MediaWiki 1.43.9</generator>
	<entry>
		<id>https://vion.tail5ecd76.ts.net/index.php?title=%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:RomanConvert&amp;diff=7263&amp;oldid=prev</id>
		<title>wp&gt;ru.wikipedia: Импорт из русской Википедии, версия 147850362</title>
		<link rel="alternate" type="text/html" href="https://vion.tail5ecd76.ts.net/index.php?title=%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:RomanConvert&amp;diff=7263&amp;oldid=prev"/>
		<updated>2025-08-13T19:14:38Z</updated>

		<summary type="html">&lt;p&gt;Импорт из русской Википедии, версия 147850362&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;local p = {}&lt;br /&gt;
&lt;br /&gt;
local roman_numerals = {&lt;br /&gt;
	I = 1,&lt;br /&gt;
	V = 5,&lt;br /&gt;
	X = 10,&lt;br /&gt;
	L = 50,&lt;br /&gt;
	C = 100,&lt;br /&gt;
	D = 500,&lt;br /&gt;
	M = 1000&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
-- Convert Roman to Arabic&lt;br /&gt;
local function roman_to_numeral(roman)&lt;br /&gt;
	if type(roman) ~= &amp;quot;string&amp;quot; then return -1, &amp;quot;roman numeral not a string&amp;quot; end&lt;br /&gt;
	local rev = roman:upper():reverse()&lt;br /&gt;
	local raising = true&lt;br /&gt;
	local last = 0&lt;br /&gt;
	local result = 0&lt;br /&gt;
	for i = 1, #rev do&lt;br /&gt;
		local c = rev:sub(i, i)&lt;br /&gt;
		local next = roman_numerals[c]&lt;br /&gt;
		if next == nil then return -1, &amp;quot;roman numeral contains illegal character &amp;quot; .. c end&lt;br /&gt;
		if next &amp;gt; last then&lt;br /&gt;
			result = result + next&lt;br /&gt;
			raising = true&lt;br /&gt;
		elseif next &amp;lt; last then&lt;br /&gt;
			result = result - next&lt;br /&gt;
			raising = false&lt;br /&gt;
		elseif raising then&lt;br /&gt;
			result = result + next&lt;br /&gt;
		else&lt;br /&gt;
			result = result - next&lt;br /&gt;
		end&lt;br /&gt;
		last = next&lt;br /&gt;
	end&lt;br /&gt;
	return result&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- Main function&lt;br /&gt;
function p.convert(frame)&lt;br /&gt;
	local input = frame.args[1] or &amp;quot;&amp;quot;&lt;br /&gt;
	local num, err = roman_to_numeral(input)&lt;br /&gt;
	if num ~= -1 and err == nil then&lt;br /&gt;
		return tostring(num)&lt;br /&gt;
	else&lt;br /&gt;
		return input&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>wp&gt;ru.wikipedia</name></author>
	</entry>
</feed>