zoukankan      html  css  js  c++  java
  • c#中decimal的去0显示

    在近来的开发中,遇到到了decimal中显示0的问题,搞了很久才搞好了,现在就简单介绍一下其中一小部分,其他的网上很上很多

    public static string DecimalToString(decimal d)
            {
                return d.ToString("#0.######");
            }

    这个的显示很简单给几个例子就懂了,注意第一个结果,是会四舍五入的

    private void button1_Click(object sender, EventArgs e)
            {
                decimal d0 = 0.0000006m;
                decimal d1 = 0.005000m;
                decimal d2 = 1.00005m;
                decimal d3 = 200.00000m;
                decimal d4 = 200.00006m;
                Console.WriteLine(DecimalToString(d0));
                Console.WriteLine(DecimalToString(d1));
                Console.WriteLine(DecimalToString(d2));
                Console.WriteLine(DecimalToString(d3));
                Console.WriteLine(DecimalToString(d4));
            }

    结果如下:

    0.000001
    0.005
    1.00005
    200
    200.00006

    后面的0会给去除,如果小于0的数,0个位还是0,这样就比较符合用户的需求的习惯。

    再附加上#和0这两个符号的说明:

    以下文字取自:链接

    5、零占位符和数字占位符

    string.Format("{0:0000.00}", 12394.039) 结果为:12394.04

    string.Format("{0:0000.00}", 194.039) 结果为:0194.04

    string.Format("{0:###.##}", 12394.039) 结果为:12394.04

    string.Format("{0:####.#}", 194.039) 结果为:194

    下面的这段说明比较难理解,多测试一下实际的应用就可以明白了。
    零占位符:
    如果格式化的值在格式字符串中出现“0”的位置有一个数字,则此数字被复制到结果字符串中。小数点前最左边的“0”的位置和小数点后最右边的“0”的位置确定总在结果字符串中出现的数字范围。
    “00”说明符使得值被舍入到小数点前最近的数字,其中零位总被舍去。

    数字占位符:
    如果格式化的值在格式字符串中出现“#”的位置有一个数字,则此数字被复制到结果字符串中。否则,结果字符串中的此位置不存储任何值。 
    请注意,如果“0”不是有效数字,此说明符永不显示“0”字符,即使“0”是字符串中唯一的数字。如果“0”是所显示的数字中的有效数字,则显示“0”字符。 
    “##”格式字符串使得值被舍入到小数点前最近的数字,其中零总被舍去。

    注意:这里是说有效数字,所以如果是2.00300的话2到3之间的0是有效数字,3后面的0就不是有效数字了,所以会去除。原理大概是这样,如果有补充可以评论或者联系本人。

  • 相关阅读:
    phpredis
    nginx rewrite
    注册公司流程
    WebsitePanel 2.1.0beta配置部分
    Windows下cwRsync搭建步骤
    Windows 2008下部署Exchange Server 2007
    【网站国际化必备】Asp.Net MVC 集成Paypal(贝宝)快速结账 支付接口 ,附源码demo
    Win2008远程多用户登陆的配置方法 另附详细设置: Windows server 2008 R2实现多用户远程连接
    IIS安全工具UrlScan介绍 ASP.NET 两种超强SQL 注入免费解决方案( 基于IIS,使用免费工具) 批改或隐藏IIS7.5的Server头信息 移除X-Powered-By,MVC,ASP.NET_SessionId 的 HTTP头或者cookie名称
    利用UDP19端口实施DOS攻击的真实案例
  • 原文地址:https://www.cnblogs.com/Jeremy2001/p/7081748.html
Copyright © 2011-2022 走看看