人人做人人澡人人爽欧美,国产主播一区二区,久久久精品五月天,羞羞视频在线观看免费

當前位置:蘿卜系統下載站 > 技術開發教程 > 詳細頁面

運用C#完成阿拉伯數字到大寫中文的轉換

運用C#完成阿拉伯數字到大寫中文的轉換

更新時間:2022-09-04 文章作者:未知 信息來源:網絡 閱讀次數:

using System;

namespace ConsoleApp
{
/// <summary>
/// 本類實現阿拉伯數字到大寫中文的轉換
/// 該類沒有對非法數字進行判別
/// 請調用NumToChn方法
/// </summary>
public class NumFormat
{
  public NumFormat()
  {
   //
   // TODO: 在此處添加構造函數邏輯
   //
  }
  
  // 轉換數字
  private char ToNum(char x)
  {
   string strChnNames="零一二三四五六七八九";
   string strNumNames="0123456789";
   return strChnNames[strNumNames.IndexOf(x)];
  }
  
  // 轉換萬以下整數
  private string ChangeInt(string x)
  {
   string[] strArrayLevelNames=new string[4] {"","十","百","千"};
   string ret = "";
   int i;
   for (i=x.Length-1;i>=0;i--)
    if (x[i] == '0')
     ret = ToNum(x[i]) + ret;
    else
     ret = ToNum(x[i]) + strArrayLevelNames[x.Length-1-i] + ret;
   while ((i=ret.IndexOf("零零"))!=-1)
    ret=ret.Remove(i, 1);
   if (ret[ret.Length-1]=='零' && ret.Length>1)
    ret=ret.Remove(ret.Length-1,1);
   if (ret.Length>=2 && ret.Substring(0,2)=="一十")
    ret=ret.Remove(0,1);
   return ret;
  }

  // 轉換整數
  private string ToInt(string x)
  {
   int len = x.Length;
   string ret,temp;
   if (len<=4)
    ret = ChangeInt(x);
   else if (len<=8)
   {
    ret = ChangeInt(x.Substring(0,len-4)) + "萬";
    temp = ChangeInt(x.Substring(len-4,4));
    if (temp.IndexOf("千")==-1 && temp!="")
     ret += "零" + temp;
    else
     ret += temp;
   }
   else
   {
    ret=ChangeInt(x.Substring(0,len-8)) + "億";
    temp=ChangeInt(x.Substring(len-8,4));
    if (temp.IndexOf("千")==-1 && temp!="")
     ret += "零" + temp;
    else
     ret += temp;
    ret += "萬";
    temp = ChangeInt(x.Substring(len-4,4));
    if (temp.IndexOf("千")==-1 && temp!="")
     ret += "零" + temp;
    else
     ret += temp;
   }
   int i;
   if ((i=ret.IndexOf("零萬"))!=-1)
    ret = ret.Remove(i+1,1);
   while ((i=ret.IndexOf("零零"))!=-1)
    ret = ret.Remove(i,1);
   if (ret[ret.Length-1]=='零' && ret.Length>1)
    ret = ret.Remove(ret.Length-1,1);
   return ret;
  }

  private string ToDecimal(string x)
  {
   string ret="";
   for (int i=0;i<x.Length;i++)
    ret += ToNum(x[i]);
   return ret;
  }

  public string NumToChn(string x)
  {
   if (x.Length==0)
    return "";
   string ret="";
   if (x[0]=='-')
   {
    ret="負";
    x=x.Remove(0,1);
   }
   if (x[0].ToString()==".")
    x="0"+x;
   if (x[x.Length-1].ToString()==".")
    x=x.Remove(x.Length-1,1);
   if (x.IndexOf(".")>-1)
    ret += ToInt(x.Substring(0,x.IndexOf(".")))+"點"+ToDecimal(x.Substring(x.IndexOf(".")+1));
   else
    ret += ToInt(x);
   return ret;
  }
}
}



測試工程

using System;

namespace ConsoleApp
{
class MainClass
{
  static void Main(string[] args)
  {
   /*
   System.Console.WriteLine("Hello, The World!");
   
   System.Console.WriteLine("My Love!");

   ClassTest ct = new ClassTest();
            System.Console.WriteLine(ct.Get_Str());
   */
   
   /*
   // 重載運算符
            MyVector v1 = new MyVector(5, 12);
   MyVector v2 = new MyVector(4, 3);
   MyVector v3 = new MyVector();
   v3 = v1 + v2;
   System.Console.WriteLine("{0}測試一下", v3.Length);
   */

   // 轉換成大寫數字
   NumFormat nf = new NumFormat();
   string x;
   while (true)
   {
    Console.Write("X=");
    x = Console.ReadLine();
    if (x == "") break;
    Console.WriteLine("{0}={1}", x, nf.NumToChn(x));
   }
  }
}
}

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統下載排行

網站地圖xml | 網站地圖html
主站蜘蛛池模板: 西乌珠穆沁旗| 凤山市| 金沙县| 潢川县| 沙湾县| 建宁县| 潍坊市| 武穴市| 东方市| 泾阳县| 娄底市| 辉县市| 修武县| 萨嘎县| 乡城县| 开原市| 陵水| 那坡县| 淳安县| 临西县| 始兴县| 舟曲县| 黄石市| 尖扎县| 唐山市| 寿宁县| 西华县| 德昌县| 子洲县| 天镇县| 文水县| 孝义市| 呼伦贝尔市| 新余市| 黄梅县| 鄂伦春自治旗| 公主岭市| 濉溪县| 应用必备| 花莲市| 嘉兴市|