zoukankan      html  css  js  c++  java
  • 金钱大写

    public string NumGetStr(double Num)
    {
    string[] DX_SZ = { "零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖", "拾" };//大写数字
    string[] DX_DW = { "元", "拾", "佰", "仟", "万", "拾", "佰", "仟", "亿", "拾", "佰", "仟", "万" };
    string[] DX_XSDS = { "角", "分" };//大些小数单位
    if (Num == 0) return DX_SZ[0];

    Boolean IsXS_bool = false;//是否小数

    string NumStr;//整个数字字符串
    string NumStr_Zs;//整数部分
    string NumSr_Xs = "";//小数部分
    string NumStr_R = "";//返回的字符串


    NumStr = Num.ToString();
    NumStr_Zs = NumStr;
    if (NumStr_Zs.Contains("."))
    {
    NumStr = Math.Round(Num, 2).ToString();
    NumStr_Zs = NumStr.Substring(0, NumStr.IndexOf("."));
    NumSr_Xs = NumStr.Substring((NumStr.IndexOf(".") + 1), (NumStr.Length - NumStr.IndexOf(".") - 1));
    IsXS_bool = true;
    }

    int k = 0;
    Boolean IsZeor = false;//整数中间连续0的情况
    for (int i = 0; i < NumStr_Zs.Length; i++) //整数
    {
    int j = int.Parse(NumStr_Zs.Substring(i, 1));
    if (j != 0)
    {
    NumStr_R += DX_SZ[j] + DX_DW[NumStr_Zs.Length - i - 1];
    IsZeor = false; //没有连续0
    }
    else if (j == 0)
    {
    k++;
    if (!IsZeor && !(NumStr_Zs.Length == i + 1)) //等于0不是最后一位,连续0取一次
    {
    //有问题
    if (NumStr_Zs.Length - i - 1 >= 4 && NumStr_Zs.Length - i - 1 <= 6)
    NumStr_R += DX_DW[4] + "零";
    else
    if (NumStr_Zs.Length - i - 1 > 7)
    NumStr_R += DX_DW[8] + "零";
    else
    NumStr_R += "零";

    IsZeor = true;
    }

    if (NumStr_Zs.Length == i + 1)// 等于0且是最后一位 变成 XX元整
    NumStr_R += DX_DW[NumStr_Zs.Length - i - 1];
    }

    }
    if (NumStr_Zs.Length > 2 && k == NumStr_Zs.Length - 1)
    NumStr_R = NumStr_R.Remove(NumStr_R.IndexOf('零'), 1); //比如1000,10000元整的情况下 去0

    if (!IsXS_bool) return NumStr_R + "整"; //如果没有小数就返回
    else
    {
    for (int i = 0; i < NumSr_Xs.Length; i++)
    {
    int j = int.Parse(NumSr_Xs.Substring(i, 1));
    NumStr_R += DX_SZ[j] + DX_XSDS[NumSr_Xs.Length - i - 1];
    }
    }

    return NumStr_R;
    }

  • 相关阅读:
    【crontab】误删crontab及其恢复
    New Concept English there (7)
    New Concept English there (6)
    New Concept English there (5)
    New Concept English there (4)
    New Concept English there (3)
    New Concept English there (2)Typing speed exercise
    New Concept English there (1)Typing speed exercise
    New Concept English Two 34 game over
    New Concept English Two 33 94
  • 原文地址:https://www.cnblogs.com/sukhoi/p/9006309.html
Copyright © 2011-2022 走看看