function romanToNumber($input)
{
$intvalues = array();
$intLoopI = 0;
$intTotal = 0;
$intPreviousPointer = 99999;
$intCurrentPointer = 0;
$intvalues['M'] = 1000;
$intvalues['D'] = 500;
$intvalues['C'] = 100;
$intvalues['L'] = 50;
$intvalues['X'] = 10;
$intvalues['V'] = 5;
$intvalues['I'] = 1;
for ($intLoopI = 0; $intLoopI < strlen($input) - 1; $intLoopI++)
{
$intCurrentPointer = $intvalues[substr($input, $intLoopI, 1)];
$intTotal += $intCurrentPointer;
if ($intCurrentPointer > $intPreviousPointer)
$intTotal -= (2 * $intPreviousPointer);
$intPreviousPointer = $intCurrentPointer;
}
return $intTotal;
}
No comments:
Post a Comment