方法一:自定義函數(shù)
我們可以自己手動(dòng)編寫一個(gè)函數(shù)來實(shí)現(xiàn)此功能,這個(gè)函數(shù)可以將數(shù)字作為第一個(gè)參數(shù),將其轉(zhuǎn)換為羅馬并返回。
注:大多數(shù)算法只能在1-4999的范圍內(nèi)工作,如果使用特大數(shù),腳本將失敗。
實(shí)現(xiàn)代碼:
?phpheader( content-type:text/html;charset=utf-8 //將數(shù)字轉(zhuǎn)換為羅馬表示形式function numberToRoman($num) // Be sure to convert the given parameter into an integer $n = intval($num); $result = // Declare a lookup array that we will use to traverse the number: $lookup = array( M = 1000, CM = 900, D = 500, CD = 400, C = 100, XC = 90, L = 50, XL = 40, X = 10, IX = 9, V = 5, IV = 4, I = 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 整數(shù)數(shù)字轉(zhuǎn)換為羅馬數(shù)字: br br // VIIIecho 數(shù)字8: .numberToRoman(8). br // CXXIIIecho 數(shù)字123: .numberToRoman(123). br // MMCCCLVecho 數(shù)字2355: .numberToRoman(2355). br // MMMMCMXCIXecho 數(shù)字4999: .numberToRoman(4999). br ?
輸出:
方法二:使用Romans庫
Romans庫是一個(gè)非常簡(jiǎn)單的PHP羅馬數(shù)字庫,允許您將整數(shù)轉(zhuǎn)換為其羅馬表示,反之亦然。
注:如果沒有該庫,請(qǐng)先需要安裝;安裝好Romans庫后,就能夠使用其命名空間并使用可幫助轉(zhuǎn)換數(shù)字的函數(shù)。
Romans庫包含一對(duì)簡(jiǎn)單的過濾器,用于將具有羅馬數(shù)字的字符串轉(zhuǎn)換為表示輸入為十進(jìn)制的int,將十進(jìn)制int轉(zhuǎn)換為具有羅馬數(shù)字作為結(jié)果的字符串。
1、整數(shù)轉(zhuǎn)換為羅馬數(shù)字
要將整數(shù)轉(zhuǎn)換為羅馬表示,需要使用IntToRoman類,創(chuàng)建一個(gè)實(shí)例并從中調(diào)用filter方法。此方法將數(shù)字作為第一個(gè)參數(shù),并返回帶有羅馬數(shù)字的字符串:
?phpuse Romans/Filter/IntToRoman;$filter = new IntToRoman();$result = $filter- filter(1999);echo $result;?
輸出:
MCMXCIX
2、羅馬數(shù)字轉(zhuǎn)換為整數(shù)
要將羅馬數(shù)字轉(zhuǎn)換為整數(shù)表示,需要使用RomanToInt類,創(chuàng)建一個(gè)實(shí)例并從中調(diào)用filter方法。此方法將使用羅馬數(shù)字的字符串作為第一個(gè)參數(shù),并返回一個(gè)帶數(shù)值的整數(shù):
?phpuse Romans/Filter/RomanToInt;$filter = new RomanToInt();$result = $filter- filter( MCMXCIX echo $result;?
輸出:
1999
相關(guān)視頻教程推薦:《PHP教程》
以上就是本篇文章的全部?jī)?nèi)容,希望能對(duì)大家的學(xué)習(xí)有所幫助。更多精彩內(nèi)容大家可以關(guān)注php 相關(guān)教程欄目!!!
以上就是PHP如何將整數(shù)數(shù)字轉(zhuǎn)換為羅馬數(shù)字?(代碼示例)的詳細(xì)內(nèi)容,PHP教程
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。
新聞熱點(diǎn)
疑難解答
圖片精選