最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C#實(shí)現(xiàn)將浮點(diǎn)數(shù)表示的貨幣數(shù)量以漢字大寫形式輸出的方法

 更新時(shí)間:2015年08月13日 12:32:33   作者:北風(fēng)其涼  
這篇文章主要介紹了C#實(shí)現(xiàn)將浮點(diǎn)數(shù)表示的貨幣數(shù)量以漢字大寫形式輸出的方法,涉及C#針對浮點(diǎn)數(shù)的遍歷與字符替換操作技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下

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

1.函數(shù)代碼

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

/// <summary>
/// 將字符型變量轉(zhuǎn)化為大寫漢語數(shù)字
/// </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>
/// 把數(shù)字轉(zhuǎn)換為大寫數(shù)字
/// </summary>
/// <param name="n"></param>
/// <returns></returns>
private static string RMBToChr(double n)
{
 //保留小數(shù)點(diǎn)后兩位數(shù)字
 string sMoney = n.ToString("#0.00");
 StringBuilder sbResult = new StringBuilder();
 for (int i = 0; i < sMoney.Length; i++)
 {
  //遇到小數(shù)點(diǎn),則后面 A.XX 寫為 A圓X角X分
  if (sMoney[i] == '.')
  {
   sbResult.Append("圓");
   //角和分屬性都為0時(shí)直接寫整字
   if (sMoney[i + 1] == '0' && sMoney[i + 2] == '0')
   {
    sbResult.Append("整");
    break;
   }
   else
   {
    //角和分屬性只有在對應(yīng)位不為0時(shí)才寫
    if (sMoney[i + 1] != '0')
    {
     sbResult.Append(NumToChr(sMoney[i + 1]) + "角");
    }
    if (sMoney[i + 2] != '0')
    {
     sbResult.Append(NumToChr(sMoney[i + 2]) + "分");
    }
    else //分為0時(shí)也要寫整字
    {
     sbResult.Append("整");
    }
    break;
   }
  }
  //非零數(shù)字直接輸出對應(yīng)數(shù)字和位
  if (sMoney[i] != '0')
  {
   sbResult.Append(NumToChr(sMoney[i]));
   //補(bǔ)上相應(yīng)位的權(quán)
   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("這個(gè)數(shù)太大了!");
   }
  }
  else //如果該位數(shù)字為0,則萬位和億位要寫權(quán),多個(gè)連續(xù)0就寫一個(gè)零
  {
   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函數(shù)調(diào)用

static void Main(string[] args)
{
 //數(shù)字轉(zhuǎn)化為人民幣大寫
 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.運(yùn)行示例

希望本文所述對大家的C#程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • C# double類型變量比較分析

    C# double類型變量比較分析

    這篇文章主要介紹了C# double類型變量比較分析,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-12-12
  • C#中的多線程多參數(shù)傳遞詳解

    C#中的多線程多參數(shù)傳遞詳解

    第一種解決方案的原理是:將線程執(zhí)行的方法和參數(shù)都封裝到一個(gè)類里面。通過實(shí)例化該類,方法就可以調(diào)用屬性來實(shí)現(xiàn)間接的類型安全地傳遞多個(gè)參數(shù)
    2014-01-01
  • 淺析C#?AsyncLocal如何實(shí)現(xiàn)Thread間傳值

    淺析C#?AsyncLocal如何實(shí)現(xiàn)Thread間傳值

    這篇文章主要是來和大家一起討論一下C#?AsyncLocal如何實(shí)現(xiàn)Thread間傳值,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-01-01
  • C#創(chuàng)建控制Windows服務(wù)

    C#創(chuàng)建控制Windows服務(wù)

    這篇文章介紹了C#創(chuàng)建和控制Windows服務(wù)的方法,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-02-02
  • 初學(xué)C#所需明白的那些點(diǎn)

    初學(xué)C#所需明白的那些點(diǎn)

    這篇文章主要介紹了初學(xué)C#所需明白的那些點(diǎn),以及一些零碎知識點(diǎn)筆記,以供大家學(xué)習(xí)參考
    2023-03-03
  • C#中的引用類型以及特殊引用類型詳解

    C#中的引用類型以及特殊引用類型詳解

    本文詳細(xì)講解了C#中的引用類型以及特殊引用類型,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-07-07
  • 詳解C#如何對ListBox控件中的數(shù)據(jù)進(jìn)行操作

    詳解C#如何對ListBox控件中的數(shù)據(jù)進(jìn)行操作

    這篇文章主要為大家詳細(xì)介紹了C#中對ListBox控件中的數(shù)據(jù)進(jìn)行的操作,主要包括添加、刪除、清空、選擇、排序等,感興趣的小伙伴可以了解下
    2024-03-03
  • Unity3d實(shí)現(xiàn)無限循環(huán)滾動背景

    Unity3d實(shí)現(xiàn)無限循環(huán)滾動背景

    這篇文章主要為大家詳細(xì)介紹了Unity3d實(shí)現(xiàn)無限循環(huán)滾動背景,一個(gè)完整的商店廣告牌組件,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • C#線程委托BeginInvoke與EndInvoke的用法

    C#線程委托BeginInvoke與EndInvoke的用法

    這篇文章介紹了C#線程委托BeginInvoke與EndInvoke的用法,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-07-07
  • c#爬蟲爬取京東的商品信息

    c#爬蟲爬取京東的商品信息

    這篇文章主要給大家介紹了關(guān)于利用c#爬蟲爬取京東商品信息的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-11-11

最新評論

德保县| 凌源市| 文山县| 顺昌县| 喀什市| 长武县| 铜陵市| 民丰县| 潜山县| 都江堰市| 诏安县| 阜康市| 三原县| 富阳市| 察隅县| 独山县| 康保县| 正蓝旗| 韩城市| 专栏| 昆明市| 精河县| 塘沽区| 都兰县| 林周县| 湾仔区| 新民市| 西乌| 芒康县| 仁怀市| 黄浦区| 兴隆县| 峨山| 麻江县| 叙永县| 即墨市| 卢湾区| 航空| 广平县| 平昌县| 正蓝旗|