zoukankan      html  css  js  c++  java
  • 把阿拉伯数字转换为中文读法

    private static Dictionary<string, string> digits = null;
    static General()
    {
    digits = new Dictionary<string, string>();
    digits.Add(".","点");
    digits.Add("0", "零");
    digits.Add("1", "一");
    digits.Add("2", "二");
    digits.Add("3", "三");
    digits.Add("4", "四");
    digits.Add("5", "五");
    digits.Add("6", "六");
    digits.Add("7", "七");
    digits.Add("8", "八");
    digits.Add("9", "九");
    }
    public static string GetCnDigit(decimal decimals)
    {
    string str = null;
    string strTemp1 = (long)decimals + "";
    string strTemp2 = (decimals - (long)decimals) > 0 ? ((decimals - (long)decimals) + "") : "";
    if (strTemp2.Length > 0) strTemp2 = strTemp2.Substring(1);
    strTemp2 = strTemp2.TrimEnd('0');
    do
    {
    string firstChar = strTemp1.Substring(0, 1);
    if (firstChar != "0")
    {
    if (strTemp1.Length == 9) str += digits[firstChar] + "亿";
    else if (strTemp1.Length == 8) str += digits[firstChar] + "千";
    else if (strTemp1.Length == 7) str += digits[firstChar] + "百";
    else if (strTemp1.Length == 6) str += digits[firstChar] + "十";
    else if (strTemp1.Length == 5) str += digits[firstChar] + "万";
    else if (strTemp1.Length == 4) str += digits[firstChar] + "千";
    else if (strTemp1.Length == 3) str += digits[firstChar] + "百";
    else if (strTemp1.Length == 2) str += digits[firstChar] + "十";
    else if (strTemp1.Length == 1) str += digits[firstChar];
    }
    strTemp1 = strTemp1.Substring(1);
    } while (strTemp1.Length > 0);

    if (decimals < 1) str += "零";
    foreach (char ch in strTemp2)
    str += digits[ch + ""];

    return str;
    }

  • 相关阅读:
    【51nod1965】奇怪的式子
    【spoj】DIVCNTK
    【bzoj3173】最长上升子序列
    【UOJ 209】【UER #6】票数统计
    Fib数列2 费马小定理+矩阵乘法
    T37302 P哥的桶
    U32592 摘果实
    【loj6029】「雅礼集训 2017 Day1」市场&&【uoj#228】基础数据结构练习题
    【bzoj4631】踩气球 线段树
    [bzoj4922]Karp-de-Chant Number
  • 原文地址:https://www.cnblogs.com/cxd4321/p/4759979.html
Copyright © 2011-2022 走看看