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);
            }
  • 相关阅读:
    go通道小案例
    go执行cmd命令并获取输出内容
    vue快速生成二维码
    vue.js数字简化 万转化k显示
    uniapp实现小程序获取用户信息
    实现图片预加载功能
    C# MD5加密字符串方法
    一个封装的 HttpClientHelper
    简易通过队列存储并异步打日志实现
    变量
  • 原文地址:https://www.cnblogs.com/liuyudong0825/p/14121291.html
Copyright © 2011-2022 走看看