• 金钱大写


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

  • 相关阅读:
    Django笔记:上下文处理器和中间件
    Django笔记:Cookie和Session
    redhat 7.4从openssh7.6离线升级openssh8.4p1解决方法
    “应用程序无法正常启动(0xc000007)”处理办法
    "安装VMware Tools"显示灰色的解决办法
    redis 根据模板批量生成使用不同端口的配置文件并运行运行服务
    扩展 docker 管理命令
    shell getopt 讲解
    编写 Redis 测试 shell 脚本
    自定义 shell 软件安装脚本
  • 原文地址:https://www.cnblogs.com/sukhoi/p/9006309.html
Copyright © 2020-2023  润新知