zoukankan      html  css  js  c++  java
  • 数字、金额转中文大写

    public static class NumberToChinese
    {
    #region 数值转为大写(不带圆角分)
    /// <summary>
    /// 数值转为大写(不带圆角分)
    /// </summary>
    /// <param name="LowerMoney"></param>
    /// <returns></returns>
    public static string FloatToChinese(string LowerMoney)
    {
    string functionReturnValue = null;
    bool IsNegative = false; // 是否是负数
    if (LowerMoney.Trim().Substring(0, 1) == "-")
    {
    // 是负数则先转为正数
    LowerMoney = LowerMoney.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
    LowerMoney = Math.Round(double.Parse(LowerMoney), 2).ToString();
    if (LowerMoney.IndexOf(".") > 0)
    {
    if (LowerMoney.IndexOf(".") == LowerMoney.Length - 2)
    {
    LowerMoney = LowerMoney + "0";
    }
    }
    else
    {
    LowerMoney = LowerMoney + ".00";
    }
    strLower = LowerMoney;
    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(strUpper.Length - 2, 2) == "点零")//最后2个数为.0,则去掉
    {
    strUpper = strUpper.Substring(0, strUpper.Length - 2);
    }
    if (strUpper.Substring(strUpper.Length - 1, 1) == "零")//最后一个数为0,则去掉
    {
    strUpper = strUpper.Substring(0, 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 = strUpper.Substring(1, strUpper.Length - 1);
    //}
    //if (strUpper.Substring(0, 1) == "整")
    //{
    // strUpper = "零圆整";
    //}
    functionReturnValue = strUpper;

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

    #endregion 数值转为大写(不带圆角分)

    #region 金额转为大写金额
    /// <summary>
    /// 金额转为大写金额
    /// </summary>
    /// <param name="LowerMoney"></param>
    /// <returns></returns>
    public static string MoneyToChinese(string LowerMoney)
    {
    string functionReturnValue = null;
    bool IsNegative = false; // 是否是负数
    if (LowerMoney.Trim().Substring(0, 1) == "-")
    {
    // 是负数则先转为正数
    LowerMoney = LowerMoney.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
    LowerMoney = Math.Round(double.Parse(LowerMoney), 2).ToString();
    if (LowerMoney.IndexOf(".") > 0)
    {
    if (LowerMoney.IndexOf(".") == LowerMoney.Length - 2)
    {
    LowerMoney = LowerMoney + "0";
    }
    }
    else
    {
    LowerMoney = LowerMoney + ".00";
    }
    strLower = LowerMoney;
    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;
    }
    }

    #endregion 金额转为大写金额
    }

  • 相关阅读:
    第五篇:JMeter 定时器
    第四篇:JMeter 性能测试基本过程及示例
    第三篇:JMeter 组件手册
    第一篇 HTTP 协议报文结构及示例
    第二篇 JMeter 目录及关键配置分析
    第一篇:什么是 JMeter和为什么选择Jmeter做性能测试
    教你如何识别百度蜘蛛IP含义
    DEDECMS安装之后需要做的安全处理和须知
    织梦联动类别-地区调用不显示第三级城市的原因
    CSS的特效
  • 原文地址:https://www.cnblogs.com/xytmj/p/7606717.html
Copyright © 2011-2022 走看看