zoukankan      html  css  js  c++  java
  • 格式化数字,千分位符,有效数字,汉字显示

      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);
            }
  • 相关阅读:
    ubuntu安装sublime无工具栏解决办法
    ubuntu安装eclipse无工具栏解决办法
    数据库设计
    cglib代理
    多线程简单实例(3)线程池
    多线程简单实例(2)生产者和消费者
    STL之迭代器(iterator)
    STL之vector
    “由于这台计算机没有终端服务器客户端访问许可证”解决方案
    STL之容器(containers) 简介
  • 原文地址:https://www.cnblogs.com/liuyudong0825/p/14121291.html
Copyright © 2011-2022 走看看