a1essandro/roman-numbers

简单转换 int <-> 罗马数字

dev-master 2016-02-07 17:19 UTC

This package is not auto-updated.

Last update: 2024-09-14 19:09:22 UTC


README

Build Status Coverage Status Latest Stable Version Total Downloads Latest Unstable Version License

简单转换 int <=> 罗马数字

##需求 此包保证在PHP 5.3及更高版本上得到支持。

##安装 ###Composer 了解更多信息 getcomposer.org

执行命令

composer require a1essandro/roman-numbers

##使用

###基本

use NumberFormatter\RomanNumber;

$romanFromInt = new RomanNumber(12);
echo (string)$romanFromInt; // XII
echo $romanFromInt->toInt(); // 12

$romanFromRomat = new RomanNumber('XIX');
echo (string)$romanFromRoman; // XIX
echo $romanFromRoman->toInt(); // 19

###验证

try {
    new RomanNumber($someVariable);
} catch (InvalidStringException $e) {
    //if $someVariable is invalid string (not correct roman number)
} catch (InvalidIntException $e) {
    //if $someVariable is invalid int (for example -1)
} catch (InvalidArgumentException $e) {
    //if $someVariable is not int or string (invalid type)
}

//Another way to check validity:

$validRomanNumber = 'XXIX';
RomanNumber::isValidRomanNumber($validRomanNumber); // true

$invalidRomanNumber = 'XDX';
RomanNumber::isValidRomanNumber($invalidRomanNumber); // false