介绍
利用php怎么将阿拉伯数字与罗马数字进行转换?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
具体如下:
& lt; php ?//,Function that  calculates 从而roman string 用,given 号码: function dec2roman(美元) { ,//Return false  if either f 美元;is not a real 数字,, ,//美元f is  bigger than 3999年,趁机f 美元;is lower 或是equal 用0:,, 如果才能(! is_numeric (f)美元,| |,f 美元;祝辞,3999,| |,f 美元;& lt;=, 0), return 假; ,//Define 从而roman 数据: 时间=美元才能roman 阵列( & # 39;才能猴# 39;,=祝辞,1000年, & # 39;才能d # 39;,=祝辞,500年, & # 39;才能c # 39;,=祝辞,100年, & # 39;才能l # 39;,=祝辞,50岁, & # 39;才能x # 39;,=祝辞,10日 & # 39;才能v # 39;,=祝辞,5, & # 39;才能我# 39;,=在1 ,,); ,//Calculate 从而needed roman 数据: foreach才能(roman 美元;as k 美元;=祝辞,v)美元 如果才能(美元金额($ k),=,地板(f 美元/,v)美元),祝辞,0) 美元才能f -=,美元金额($ k), *, v美元; ,//Build 从而字符串: 时间=美元才能return & # 39; & # 39;; foreach才能(amount 美元;as k 美元;=祝辞,v)美元 {才能 ,,return 美元。=,v 美元;& lt;=, 3, ?,函数(k美元,,v),:, k 美元;只old_k美元; ,,old_k 美元;=,$ k;,, ,,} ,//Replace some  spacial cases 以及return 从而字符串: return 才能;str_replace(阵列(& # 39;韦夫# 39;& # 39;LXL& # 39;, & # 39;以便# 39;),数组(& # 39;第九# 39;& # 39;xc # 39;, & # 39;厘米# 39;),返回美元); }//,echo dec2romen (1981);//,Function 用get 从而decimal value of a roman 字符串: function roman2dec ($ str =, & # 39; & # 39;) { ,//Return false  if not at least one letter is 从而拷贝字符串: 如果才能(is_numeric (str)美元),return 假; ,//Define 从而roman 数据: 时间=美元才能roman 阵列( & # 39;才能猴# 39;,=祝辞,1000年, & # 39;才能d # 39;,=祝辞,500年, & # 39;才能c # 39;,=祝辞,100年, & # 39;才能l # 39;,=祝辞,50岁, & # 39;才能x # 39;,=祝辞,10日 & # 39;才能v # 39;,=祝辞,5, & # 39;才能我# 39;,=在1 ,,); ,//Convert 从而string 用an array of roman 价值观: ,,($小姐:=,0;,美元小姐:& lt;, strlen (str);,我+ +美元), 如果才能(收取(罗马美元[strtoupper (str美元($ i))))) 美元才能值[],=,罗马美元[strtoupper (str美元[$ i])); ,//Calculate 从而sum of that 数组: 时间=美元才能sum 0; 而才能(current 美元;=,当前(美元值)) {才能 ,,next 美元;=,next(美元值); ,,next 美元;祝辞,current 美元;?,sum 美元;+=,next 美元;作用;current 美元;+,0,*,下一个(美元值),:,sum 美元;+=,当前美元; ,,} ,//Return 从而;价值: return 才能;美元金额; }//,echo roman2dec (IX);,, ?在
看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注行业资讯频道,感谢您对的支持。