国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C# > 正文

C#實現將浮點數表示的貨幣數量以漢字大寫形式輸出的方法

2020-01-24 01:32:44
字體:
來源:轉載
供稿:網友

本文實例講述了C#實現將浮點數表示的貨幣數量以漢字大寫形式輸出的方法。分享給大家供大家參考。具體如下:

1.函數代碼

注:本段代碼中能轉化的最大的數為(1億億-0.01),如果要轉化更大的浮點數,則需要做適當修改。

/// <summary>/// 將字符型變量轉化為大寫漢語數字/// </summary>/// <param name="ch">字符 '0'~'9'</param>/// <returns></returns>private static string NumToChr(char ch){ switch (ch) {  case '0': return "零";  case '1': return "壹";  case '2': return "貳";  case '3': return "叁";  case '4': return "肆";  case '5': return "伍";  case '6': return "陸";  case '7': return "柒";  case '8': return "捌";  case '9': return "玖";  default: return ""; }}/// <summary>/// 把數字轉換為大寫數字/// </summary>/// <param name="n"></param>/// <returns></returns>private static string RMBToChr(double n){ //保留小數點后兩位數字 string sMoney = n.ToString("#0.00"); StringBuilder sbResult = new StringBuilder(); for (int i = 0; i < sMoney.Length; i++) {  //遇到小數點,則后面 A.XX 寫為 A圓X角X分  if (sMoney[i] == '.')  {   sbResult.Append("圓");   //角和分屬性都為0時直接寫整字   if (sMoney[i + 1] == '0' && sMoney[i + 2] == '0')   {    sbResult.Append("整");    break;   }   else   {    //角和分屬性只有在對應位不為0時才寫    if (sMoney[i + 1] != '0')    {     sbResult.Append(NumToChr(sMoney[i + 1]) + "角");    }    if (sMoney[i + 2] != '0')    {     sbResult.Append(NumToChr(sMoney[i + 2]) + "分");    }    else //分為0時也要寫整字    {     sbResult.Append("整");    }    break;   }  }  //非零數字直接輸出對應數字和位  if (sMoney[i] != '0')  {   sbResult.Append(NumToChr(sMoney[i]));   //補上相應位的權   int temp = sMoney.Length - 4 - i;   switch (temp)   {    case 0: break;    case 1: sbResult.Append("拾"); break;    case 2: sbResult.Append("佰"); break;    case 3: sbResult.Append("仟"); break;    case 4: sbResult.Append("萬"); break;    case 5: sbResult.Append("拾"); break;    case 6: sbResult.Append("佰"); break;    case 7: sbResult.Append("仟"); break;    case 8: sbResult.Append("億"); break;    case 9: sbResult.Append("拾"); break;    case 10: sbResult.Append("百"); break;    case 11: sbResult.Append("仟"); break;    case 12: sbResult.Append("萬"); break;    default: throw new Exception("這個數太大了!");   }  }  else //如果該位數字為0,則萬位和億位要寫權,多個連續0就寫一個零  {   int temp = sMoney.Length - 4 - i;   if (temp == 4) { sbResult.Append("萬"); continue; }   else if (temp == 8) { sbResult.Append("億"); continue; }   else if (sMoney[i + 1] == '0') { continue; }   else sbResult.Append("零");  } } return sbResult.ToString();}

2.Main函數調用

static void Main(string[] args){ //數字轉化為人民幣大寫 Console.WriteLine(RMBToChr(12345)); Console.WriteLine(RMBToChr(60001.215)); Console.WriteLine(RMBToChr(70010001.8)); Console.WriteLine(RMBToChr(10110901.01)); Console.WriteLine(RMBToChr(0.01)); Console.ReadLine();}

3.運行示例

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 田东县| 兴文县| 衡东县| 莱州市| 富源县| 新宁县| 扎赉特旗| 绩溪县| 巴彦淖尔市| 什邡市| 栾川县| 阿坝县| 常宁市| 卓尼县| 同江市| 梁河县| 周口市| 巴彦淖尔市| 闻喜县| 文山县| 普兰店市| 龙岩市| 开江县| 京山县| 崇信县| 罗定市| 扎兰屯市| 万全县| 瑞丽市| 台山市| 桂东县| 农安县| 鹤山市| 文安县| 格尔木市| 阿合奇县| 葫芦岛市| 集安市| 读书| 晋城| 阿鲁科尔沁旗|