• 货币大写转换类


    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 }
  • 相关阅读:
    一个案例
    Python Qt 简介
    【第二】用QtDesigner设计第一个界面
    【第一节】QtDesigner安装
    【第十二节】PyQt5俄罗斯方块
    【第十一节】PyQt5自定义控件
    【第十节】PyQt5绘图
    【第九节】PyQt 拖拽
    【第八节】PyQt5控件(II)
    【第七节】PyQt5控件
  • 原文地址:https://www.cnblogs.com/wang123/p/1034734.html
Copyright © 2020-2023  润新知