• 格式化数字,千分位符,有效数字,汉字显示


      public static class NumberToFormat
        {
            /// <summary>
            /// 数字转换为汉字显示
            /// </summary>
            /// <param name="number"></param>
            /// <returns></returns>
            public static string NumberToChinese(int number)
            {
                string[] UNITS = { "", "", "", "", "", "", "", "", "亿", "", "", "" };
                string[] NUMS = { "", "", "", "", "", "", "", "", "", "" };
                if (number == 0)
                {
                    return NUMS[0];
                }
                string results = "";
                for (int i = number.ToString().Length - 1; i >= 0; i--)
                {
                    int r = (int)(number / (Math.Pow(10, i)));
                    results += NUMS[r % 10] + UNITS[i];
                }
                results = results.Replace("零十", "")
                                    .Replace("零百", "")
                                    .Replace("零千", "")
                                    .Replace("亿万", "亿");
                results = Regex.Replace(results, "零([万, 亿])", "$1");
                results = Regex.Replace(results, "零+", "");
    
                if (results.StartsWith("一十"))
                {
                    results = results.Substring(1);
                }
            cutzero:
                if (results.EndsWith(""))
                {
                    results = results.Substring(0, results.Length - 1);
                    if (results.EndsWith(""))
                    {
                        goto cutzero;
                    }
                }
                return results;
    
            }
    
    
            /// <summary>
            /// 转换为千分位符
            /// </summary>
            /// <param name="number"></param>
            /// <returns></returns>
            public static string NumToN(decimal number)
            {
                //转换为字符串
                string numstr = number.ToString();
    
    
                if (numstr == "0")
                {
                    numstr = "0";
                }
    
    
                else if (numstr.Contains("."))
                {
                    //获取整数部位
                    decimal intpart = Convert.ToDecimal(numstr.Substring(0, numstr.IndexOf(".")));
                    if (intpart == 0)
                    {
               
                    }
                    else
                    {
           
                        numstr = string.Format("{0}{1}", intpart.ToString("###,###"), numstr.Substring(numstr.IndexOf(".")));
                    }
                }
    
                else
                {
                    //0会变为""
                    numstr = number.ToString("###,###");
                }
              
                return numstr;
            }
    
    
            /// <summary>
            /// 转换为有效数字
            /// </summary>
            /// <param name="number"></param>
            /// <returns></returns>
            public static decimal NumToG(decimal number)
            {
                //转换为字符串
                string numstr = number.ToString("G0");
                return Convert.ToDecimal(numstr);
            }
  • 相关阅读:
    ASP Loading
    haproxy中两个常用的宏
    数字签名-摘要等
    haproxy内存管理-free_list原理
    haproxy-代码阅读-内存管理
    网卡中断不均衡处理
    TIME_WAIT 另一种解决方式 SO_LINGER
    HTTP报文格式
    TIME_WAIT过多及解决
    awk如何向shell传值
  • 原文地址:https://www.cnblogs.com/liuyudong0825/p/14121291.html
Copyright © 2020-2023  润新知