zoukankan      html  css  js  c++  java
  • 关于罗马数字转换成阿拉伯数字的理解

    罗马转阿拉伯

    思路参考(https://zhuanlan.zhihu.com/p/36370683) 给我很多启示。

    • 因为千以上罗马数字需要特殊的符号,所以暂时网络上还未寻找到非分布式表示千以上数字的代码。

    • 因为罗马数字表达4和9这样的数字运行的是右减左的算法,所以为了方便可以将4,9,等数字用参数表示放在数列里。
      网络上有很多的代码示例,我借鉴学习。代码如下
      `public static string ConvertToRoman(int number)
      {
      var output = new StringBuilder();
      var digitMap = new Dictionary<int,string>()
      {
      {1,"I"},{4,"IV"},{5,"V"},{9,"IX"},
      {10,"X"},{40,"XL"},{50,"L"},{90,"XC"},
      {100,"C"},{400,"CD"},{500,"D"},{900,"CM"},
      {1000,"M"}
      };
      var digits = digitMap.OrderByDescending(e => e.Key).ToList();

      for (int i = 0; i < digits.Count && number > 0; i++)
      {
      if (number < digits[i].Key) continue;
      while (number >= digits[i].Key)
      {
      number -= digits[i].Key;
      output.Append(digits[i].Value);
      }
      }

      return output.ToString();
      }`

  • 相关阅读:
    开发mis系统的技术
    Navicat软件与pymysql模块
    5.6作业
    mysql表的查询
    5.5作业
    约束条件
    mysql基本数据类型
    数据库
    网络编程项目
    并发编程四
  • 原文地址:https://www.cnblogs.com/hzxjkl/p/13834988.html
Copyright © 2011-2022 走看看