>  기사  >  백엔드 개발  >  PHP에서 정수를 로마 숫자로 변환하는 방법은 무엇입니까? (코드 예)

PHP에서 정수를 로마 숫자로 변환하는 방법은 무엇입니까? (코드 예)

青灯夜游
青灯夜游원래의
2019-03-16 17:25:323329검색

정수를 로마 숫자로 변환하는 방법은 무엇인가요? 다음 기사는 PHP를 사용하여 정수를 로마 숫자로 변환하는 방법을 보여줍니다. 이것이 도움이 되기를 바랍니다.

PHP에서 정수를 로마 숫자로 변환하는 방법은 무엇입니까? (코드 예)

방법 1: 사용자 정의 함수

이 함수를 구현하는 함수를 수동으로 작성할 수 있습니다. 이 함수는 숫자를 첫 번째 매개변수로 사용하여 로마자로 변환하고 반환할 수 있습니다.

참고: 대부분의 알고리즘은 1-4999 범위에서만 작동합니다. 너무 큰 숫자를 사용하면 스크립트가 실패합니다.

구현 코드:

<?php
header("content-type:text/html;charset=utf-8");
//将数字转换为罗马表示形式
function numberToRoman($num)  
{ 
    // Be sure to convert the given parameter into an integer
    $n = intval($num);
    $result = &#39;&#39;; 
 
    // Declare a lookup array that we will use to traverse the number: 
    $lookup = array(
        &#39;M&#39; => 1000, &#39;CM&#39; => 900, &#39;D&#39; => 500, &#39;CD&#39; => 400, 
        &#39;C&#39; => 100, &#39;XC&#39; => 90, &#39;L&#39; => 50, &#39;XL&#39; => 40, 
        &#39;X&#39; => 10, &#39;IX&#39; => 9, &#39;V&#39; => 5, &#39;IV&#39; => 4, &#39;I&#39; => 1
    ); 
 
    foreach ($lookup as $roman => $value)  
    {
        // Look for number of matches
        $matches = intval($n / $value); 
 
        // Concatenate characters
        $result .= str_repeat($roman, $matches); 
 
        // Substract that from the number 
        $n = $n % $value; 
    } 
    return $result; 
} 
echo &#39;整数数字转换为罗马数字:<br><br>&#39;;
// VIII
echo &#39;数字8:&#39;.numberToRoman(8).&#39;<br>&#39;;
// CXXIII
echo &#39;数字123:&#39;.numberToRoman(123).&#39;<br>&#39;;
// MMCCCLV
echo &#39;数字2355:&#39;.numberToRoman(2355).&#39;<br>&#39;;
// MMMMCMXCIX
echo &#39;数字4999:&#39;.numberToRoman(4999).&#39;<br>&#39;;
?>

출력:

PHP에서 정수를 로마 숫자로 변환하는 방법은 무엇입니까? (코드 예)

방법 2: 로마자 라이브러리 사용

Romans 라이브러리는 정수를 로마자 표현으로 또는 그 반대로 변환할 수 있는 매우 간단한 PHP 로마 숫자 라이브러리입니다. 비슷하게.

참고: 이 라이브러리가 없으면 먼저 Romans 라이브러리를 설치해야 하며, 해당 네임스페이스를 사용하고 숫자 변환에 도움이 되는 기능을 사용할 수 있습니다.

Romans 라이브러리에는 로마 숫자가 포함된 문자열을 입력을 10진수로 나타내는 int로 변환하고 결과적으로 10진수 int를 로마 숫자가 포함된 문자열로 변환하는 간단한 필터 쌍이 포함되어 있습니다.

1. 정수를 로마 숫자로 변환

정수를 로마 숫자로 변환하려면 IntToRoman 클래스를 사용하고 인스턴스를 생성한 후 필터 메서드를 호출해야 합니다. 이 메소드는 숫자를 첫 번째 매개변수로 사용하고 로마 숫자가 포함된 문자열을 반환합니다.

<?php
use Romans\Filter\IntToRoman;

$filter = new IntToRoman();
$result = $filter->filter(1999);
echo $result;
?>

출력:

MCMXCIX

2. 로마 숫자를 정수로 변환

로마 숫자를 정수 표현으로 변환하려면 RomanToInt 클래스를 사용해야 합니다. , 인스턴스를 생성하고 여기에서 필터 메서드를 호출합니다. 이 메소드는 로마 숫자 문자열을 첫 번째 매개변수로 사용하고 값이 있는 정수를 반환합니다:

<?php
use Romans\Filter\RomanToInt;

$filter = new RomanToInt();
$result = $filter->filter(&#39;MCMXCIX&#39;);
echo $result;
?>

출력:

1999

권장 비디오 튜토리얼: "PHP Tutorial"

위는 이 기사의 요약입니다. 모든 내용 , 모든 분들의 공부에 도움이 되길 바랍니다. 더 흥미로운 내용을 보려면 PHP 중국어 웹사이트의 관련 튜토리얼 열을 주의 깊게 살펴보세요! ! !

위 내용은 PHP에서 정수를 로마 숫자로 변환하는 방법은 무엇입니까? (코드 예)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.