• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    PHP将整数数字转换为罗马数字实例分享

    方法一:自定义函数

    我们可以自己手动编写一个函数来实现此功能,这个函数可以将数字作为第一个参数,将其转换为罗马并返回。

    注:大多数算法只能在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 = ''; 
    
     
    
     // 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 '整数数字转换为罗马数字:br>br>';
    
    // VIII
    
    echo '数字8:'.numberToRoman(8).'br>';
    
    // CXXIII
    
    echo '数字123:'.numberToRoman(123).'br>';
    
    // MMCCCLV
    
    echo '数字2355:'.numberToRoman(2355).'br>';
    
    // MMMMCMXCIX
    
    echo '数字4999:'.numberToRoman(4999).'br>';
    
    ?>

    输出:

    方法二:使用Romans库

    Romans库是一个非常简单的PHP罗马数字库,允许您将整数转换为其罗马表示,反之亦然。

    注:如果没有该库,请先需要安装;安装好Romans库后,就能够使用其命名空间并使用可帮助转换数字的函数。

    Romans库包含一对简单的过滤器,用于将具有罗马数字的字符串转换为表示输入为十进制的int,将十进制int转换为具有罗马数字作为结果的字符串。

    1、整数转换为罗马数字

    要将整数转换为罗马表示,需要使用IntToRoman类,创建一个实例并从中调用filter方法。此方法将数字作为第一个参数,并返回带有罗马数字的字符串:

    ?php
    
    use Romans\Filter\IntToRoman;
    
     
    
    $filter = new IntToRoman();
    
    $result = $filter->filter(1999);
    
    echo $result;
    
    ?>

    输出:

    MCMXCIX

    2、罗马数字转换为整数

    要将罗马数字转换为整数表示,需要使用RomanToInt类,创建一个实例并从中调用filter方法。此方法将使用罗马数字的字符串作为第一个参数,并返回一个带数值的整数:

    ?php
    
    use Romans\Filter\RomanToInt;
    
     
    
    $filter = new RomanToInt();
    
    $result = $filter->filter('MCMXCIX');
    
    echo $result;
    
    ?>

    输出:

    1999

    您可能感兴趣的文章:
    • PHP5中使用mysqli的prepare操作数据库的介绍
    • PHP中单例模式的使用场景与使用方法讲解
    • PHP自动生成缩略图函数的源码示例
    • PHP添加文字水印或图片水印的水印类完整源代码与使用示例
    • PHP实现对数字分隔加千分号的方法
    • PHP生成指定范围内的N个不重复的随机数
    • PHP中十六进制颜色与RGB颜色值互转的方法
    • Ubuntu16.04搭建php5.6Web服务器环境
    • PHP标准库(PHP SPL)详解
    • PHP后台备份MySQL数据库的源码实例
    上一篇:PHP标准库(PHP SPL)详解
    下一篇:PHP正则判断一个变量是否为正整数的方法
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    PHP将整数数字转换为罗马数字实例分享 PHP,将,整数,数字,转换,为,