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;
    }
    }

    }
  • 相关阅读:
    彻底解决SQL SERVER 2008无法远程连接的问题
    将ReportingService 2008配置为匿名访问
    将低版本的数据库迁移到sqlserver 2008
    Oracle 11G R2
    Reporting Services 安装的备份和还原操作
    DefaultValue
    用户 'IIS APPPOOL\DefaultAppPool' 登录失败。
    在IIS中为SQL Server 2008配置报表服务
    数据库日志维护方式
    如何卸载的 SQL Server 2008 实例
  • 原文地址:https://www.cnblogs.com/dannyli/p/2147490.html
Copyright © 2011-2022 走看看