zoukankan      html  css  js  c++  java
  • 货币大写转换类

    1 public class ConverMoney
     2  {
     3         public static string ConvertToUpper(double inputNum)
     4         {
     5             string strTemp = inputNum.ToString("f2");
     6             return ProcessLeft(strTemp)+ProcessRight(strTemp);
     7         }
     8 
     9         #region 处理整数部分
    10         private static string ProcessLeft(string inputNum)
    11         {
    12             int temp = Convert.ToInt32(inputNum.Substring(0, inputNum.IndexOf('.')));
    13             Stack<string> processStack=new Stack<string>();
    14             string[] separate ="""""""""","","","亿" };
    15             int i=0;
    16             if(temp<10)
    17             {
    18                 return temp.ToString();
    19             }
    20             else
    21             {
    22                 while (true)
    23                 {
    24                     if (temp % 10 != 0)
    25                     {
    26                         if (i != 0)
    27                             processStack.Push(separate[i-1]);
    28                         processStack.Push(ConvertNumToUpper(temp % 10));
    29                         
    30                     }
    31                     else
    32                     {                       
    33                         if (processStack.Count != 0 && processStack.Peek() != "")
    34                             processStack.Push("");
    35                         
    36                     }
    37                     i++;
    38                     temp = temp / 10;
    39                     if (temp == 0)
    40                         break;
    41                 }
    42             }
    43             string returnStr = "";
    44             while (processStack.Count != 0)
    45                 returnStr = returnStr + processStack.Pop();
    46             return returnStr;
    47         }
    48         #endregion
    49 
    50         #region 处理小数部分
    51         private static string ProcessRight(string inputNum)
    52         {
    53             int temp1=Convert.ToInt32(inputNum.Substring(inputNum.IndexOf('.'+ 1,1));
    54             int temp2 = Convert.ToInt32(inputNum.Substring(inputNum.IndexOf('.'+ 21));
    55             if (temp1 == 0 && temp2 == 0)
    56                 return "圆整";
    57             else
    58                 return "圆零"+ConvertNumToUpper(temp1) + "" + ConvertNumToUpper(temp2) + "";
    59 
    60         }
    61         #endregion
    62 
    63         #region 数字转换成大写
    64         private static string ConvertNumToUpper(int input)
    65         {
    66             string[] UpperNum ="""""""""""""""" ,""};
    67             if (input <= 9)
    68             {
    69                 return UpperNum[input];
    70             }
    71             else
    72             {
    73                 throw new Exception("转换错误");
    74             }
    75         }
    76         #endregion
    77 }
  • 相关阅读:
    node.js + expres 的安装
    ubuntu文件夹建立软链接方法
    $.ajax()方法所有参数详解;$.get(),$.post(),$.getJSON(),$.ajax()详解
    与 的区别
    ubuntu卸载软件命令,apt-get remove
    php中session机制的详解
    mysql中查询语句中的一个知识点说明
    Git忽略规则及.gitignore规则不生效的解决办法
    Linux中find常见用法示例
    Waiting for table metadata lock
  • 原文地址:https://www.cnblogs.com/wang123/p/1034734.html
Copyright © 2011-2022 走看看