美文网首页
罗马数字转整数

罗马数字转整数

作者: Newzer | 来源:发表于2022-07-18 11:22 被阅读0次
        $str = "MCMXCIV";
    print_r(romanToInt($str));
    function romanToInt($s) {
        $arr = array(
            "I"  => 1,
            "V"  => 5,
            "X"  => 10,
            "L"  => 50,
            "C"  => 100,
            "D"  => 500,
            "M"  => 1000
        );
        $res = 0;
        $len = strlen($s);

        for ($i = 0; $i < $len; $i ++) {
            if (isset($arr[$s[$i]])) {
                if (!isset($arr[$s[$i+1]]) || $arr[$s[$i]] >= $arr[$s[$i+1]]) {
                    $res += $arr[$s[$i]];
                }else {
                    $res -= $arr[$s[$i]];
                }
            }
        }
        return $res;
    }

相关文章

网友评论

      本文标题:罗马数字转整数

      本文链接:https://www.haomeiwen.com/subject/peddirtx.html