一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - PHP教程 - php實現阿拉伯數字和羅馬數字相互轉換的方法

php實現阿拉伯數字和羅馬數字相互轉換的方法

2020-09-20 14:41皮蛋 PHP教程

這篇文章主要介紹了php實現阿拉伯數字和羅馬數字相互轉換的方法,涉及php字符串操作的相關技巧,具有一定參考借鑒價值,需要的朋友可以參考下

本文實例講述了php實現阿拉伯數字和羅馬數字相互轉換的方法。分享給大家供大家參考。具體如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
<?php
// Function that calculates the roman string to the given number:
function dec2roman($f)
{
 // Return false if either $f is not a real number,
 //$f is bigger than 3999 or $f is lower or equal to 0: 
  if(!is_numeric($f) || $f > 3999 || $f <= 0) return false;
 // Define the roman figures:
  $roman = array(
  'M' => 1000,
  'D' => 500,
  'C' => 100,
  'L' => 50,
  'X' => 10,
  'V' => 5,
  'I' => 1
  );
 // Calculate the needed roman figures:
  foreach($roman as $k => $v)
  if(($amount[$k] = floor($f / $v)) > 0)
  $f -= $amount[$k] * $v;
 // Build the string:
  $return = '';
  foreach($amount as $k => $v)
  {
   $return .= $v <= 3 ? str_repeat($k, $v) : $k . $old_k;
   $old_k = $k
  }
 // Replace some spacial cases and return the string:
  return str_replace(array('VIV','LXL','DCD'),array('IX','XC','CM'),$return);
}
// echo dec2romen(1981);
// Function to get the decimal value of a roman string:
function roman2dec($str = '')
{
 // Return false if not at least one letter is in the string:
  if(is_numeric($str)) return false;
 // Define the roman figures:
  $roman = array(
  'M' => 1000,
  'D' => 500,
  'C' => 100,
  'L' => 50,
  'X' => 10,
  'V' => 5,
  'I' => 1
  );
 // Convert the string to an array of roman values:
  for($i = 0; $i < strlen($str); $i++)
  if(isset($roman[strtoupper($str[$i])]))
  $values[] = $roman[strtoupper($str[$i])];
 // Calculate the sum of that array:
  $sum = 0;
  while($current = current($values))
  {
   $next = next($values);
   $next > $current ? $sum += $next - $current + 0 * next($values) : $sum += $current;
  }
 // Return the value:
  return $sum;
}
// echo roman2dec(IX); 
?>

希望本文所述對大家的php程序設計有所幫助。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 午夜国产福利视频一区 | 手机av影院| 欧美精品色精品一区二区三区 | 福利片福利一区二区三区 | 波多野结衣 在线 | 亚洲另类第一页 | 毛片视频网站在线观看 | 欧美另类xxx精品人妖 | 国产精品13p | 青草香蕉精品视频在线观看 | 91桃花| 双性总裁(h)| 美女逼逼软件 | 亚洲国产精品第一区二区三区 | 国产99re在线观看69热 | 欧美专区在线观看 | 丁香久久婷婷 | 日本在线视频网 | 天美麻豆 | 99热人人| 69pao强力打造免费高速 | 日韩精品成人a在线观看 | 国产欧美亚洲精品第一页青草 | 大伊人青草狠狠久久 | 亚洲福利精品电影在线观看 | 欧亚专线欧洲m码可遇不可求 | 国产伦码精品一区二区 | 思久久 | 18日本人 | 欧美高清videosex极品 | bt天堂在线最新版www | 丝袜老师好湿好紧我要进去了 | 色天天综合网色鬼综合 | 亚洲AV国产福利精品在现观看 | 亚洲图片一区二区三区 | 亚洲成人91 | 厨房高h| 亚洲AV久久无码精品九号软件 | 成年人视频在线播放 | 精品欧美一区二区精品久久 | 富士av105 |