zoukankan      html  css  js  c++  java
  • C#中将小写金额转换为大写金额

    ASP.NET的项目中,常常需要把客户端输入的小写金额转换为大写,这里便提供了一个类,来帮助我们完成这些工作。

      public class Money2ChineseHelper
    {
    public static string MoneyToChinese(string strAmount)
    {
    string functionReturnValue = null;
    bool IsNegative = false; // 是否是负数
    if (strAmount.Trim().Substring(0, 1) == "-")
    {
    // 是负数则先转为正数
    strAmount = strAmount.Trim().Remove(0, 1);
    IsNegative
    = true;
    }
    string strLower = null;
    string strUpart = null;
    string strUpper = null;
    int iTemp = 0;
    // 保留两位小数 123.489→123.49  123.4→123.4
    strAmount = Math.Round(double.Parse(strAmount), 2).ToString();
    if (strAmount.IndexOf(".") > 0)
    {
    if (strAmount.IndexOf(".") == strAmount.Length - 2)
    {
    strAmount
    = strAmount + "0";
    }
    }
    else
    {
    strAmount
    = strAmount + ".00";
    }
    strLower
    = strAmount;
    iTemp
    = 1;
    strUpper
    = "";
    while (iTemp <= strLower.Length)
    {
    switch (strLower.Substring(strLower.Length - iTemp, 1))
    {
    case ".":
    strUpart
    = "";
    break;
    case "0":
    strUpart
    = "";
    break;
    case "1":
    strUpart
    = "";
    break;
    case "2":
    strUpart
    = "";
    break;
    case "3":
    strUpart
    = "";
    break;
    case "4":
    strUpart
    = "";
    break;
    case "5":
    strUpart
    = "";
    break;
    case "6":
    strUpart
    = "";
    break;
    case "7":
    strUpart
    = "";
    break;
    case "8":
    strUpart
    = "";
    break;
    case "9":
    strUpart
    = "";
    break;
    }

    switch (iTemp)
    {
    case 1:
    strUpart
    = strUpart + "";
    break;
    case 2:
    strUpart
    = strUpart + "";
    break;
    case 3:
    strUpart
    = strUpart + "";
    break;
    case 4:
    strUpart
    = strUpart + "";
    break;
    case 5:
    strUpart
    = strUpart + "";
    break;
    case 6:
    strUpart
    = strUpart + "";
    break;
    case 7:
    strUpart
    = strUpart + "";
    break;
    case 8:
    strUpart
    = strUpart + "";
    break;
    case 9:
    strUpart
    = strUpart + "";
    break;
    case 10:
    strUpart
    = strUpart + "";
    break;
    case 11:
    strUpart
    = strUpart + "";
    break;
    case 12:
    strUpart
    = strUpart + "亿";
    break;
    case 13:
    strUpart
    = strUpart + "";
    break;
    case 14:
    strUpart
    = strUpart + "";
    break;
    case 15:
    strUpart
    = strUpart + "";
    break;
    case 16:
    strUpart
    = strUpart + "";
    break;
    default:
    strUpart
    = strUpart + "";
    break;
    }

    strUpper
    = strUpart + strUpper;
    iTemp
    = iTemp + 1;
    }

    strUpper
    = strUpper.Replace("零拾", "");
    strUpper
    = strUpper.Replace("零佰", "");
    strUpper
    = strUpper.Replace("零仟", "");
    strUpper
    = strUpper.Replace("零零零", "");
    strUpper
    = strUpper.Replace("零零", "");
    strUpper
    = strUpper.Replace("零角零分", "");
    strUpper
    = strUpper.Replace("零分", "");
    strUpper
    = strUpper.Replace("零角", "");
    strUpper
    = strUpper.Replace("零亿零万零圆", "亿圆");
    strUpper
    = strUpper.Replace("亿零万零圆", "亿圆");
    strUpper
    = strUpper.Replace("零亿零万", "亿");
    strUpper
    = strUpper.Replace("零万零圆", "万圆");
    strUpper
    = strUpper.Replace("零亿", "亿");
    strUpper
    = strUpper.Replace("零万", "");
    strUpper
    = strUpper.Replace("零圆", "");
    strUpper
    = strUpper.Replace("零零", "");

    // 对壹圆以下的金额的处理
    if (strUpper.Substring(0, 1) == "")
    {
    strUpper
    = strUpper.Substring(1, strUpper.Length - 1);
    }
    if (strUpper.Substring(0, 1) == "")
    {
    strUpper
    = strUpper.Substring(1, strUpper.Length - 1);
    }
    if (strUpper.Substring(0, 1) == "")
    {
    strUpper
    = strUpper.Substring(1, strUpper.Length - 1);
    }
    if (strUpper.Substring(0, 1) == "")
    {
    strUpper
    = strUpper.Substring(1, strUpper.Length - 1);
    }
    if (strUpper.Substring(0, 1) == "")
    {
    strUpper
    = "零圆整";
    }
    functionReturnValue
    = strUpper;

    if (IsNegative == true)
    {
    return "" + functionReturnValue;
    }
    else
    {
    return functionReturnValue;
    }
    }

    }
  • 相关阅读:
    多数据源报表解析之简单多源报表
    8.5.4 Optimizing InnoDB Redo Logging 优化InnoDB Redo Logging
    8.5.2 Optimizing InnoDB Transaction Management
    8.5.1 Optimizing Storage Layout for InnoDB Tables
    Linux_RHEL7_YUM
    Linux_RHEL7_YUM
    Python基本语法_函数_返回值
    Python基本语法_函数_返回值
    8.4 Optimizing Database Structure 优化数据库结构
    8.3.7 InnoDB and MyISAM Index Statistics Collection InnoDB 和MyISAM 索引统计信息收集
  • 原文地址:https://www.cnblogs.com/dannyli/p/2147490.html
Copyright © 2011-2022 走看看