zoukankan      html  css  js  c++  java
  • C#保留2位小数几种场景总结

    场景1:

      C#保留2位小数,.ToString("f2")确实可以,但是如果这个数字本来就小数点后面三位比如1.253,那么转化之后就会变成1.25.可不可以刚好保留到最后一位不是0的位置?
    默认保留2位,如果真的有3位小数,就保留3位,有4位就保留4位。

    先说一下ToString("0.00##")中0和#的区别:
      0 代表占位的。如果ToString("0.00") 这样就是保留两位小数,无论小数有多少位或者无小数,结果都是两位小数。例如 1.1234 那么结果是1.12。如果是1.2 那么结果会补零,为1.20。
      # 代表后面的不是零就被保留,如果是0就去掉。例如ToString("0.##") 那么1.20的话结果是1.2。


    对于场景1的问题,默认有两位就是00,其它的如果大于两位就不是零就保留的话,可以下面这样写:

    double dd = 1.2530;
    string ret = dd.ToString("0.00####"); // 1.253

    场景2:

      根据国际惯例,有时候我们需要对超出的位数“四舍五入”。用C# 实现保留两位小数的方法有很多,常用的总结如下:

    1、Math.Round(0.333333,2);//按照四舍五入的国际标准
    2、double dbdata=0.335333; string str1=String.Format("{0:F}",dbdata);//默认为保留两位
    3、float i=0.333333; int j=(int)(i * 100); i = j/100;
    4、decimal.Round(decimal.Parse("0.3333333"),2)
    5、private System.Globalization.NumberFormatInfo nfi = new System.Globalization.NumberFormatInfo();

      float test=0.333333f;

      nfi.NumberDecimalDigits=2;

      string result=test.ToString("N", nfi);


    6、string result= String.Format("{0:N2}",Convert.ToDecimal("0.333333").ToString());
    7、Convert.ToDecimal("0.33333333").ToString("0.00");

  • 相关阅读:
    标题:CSS-button添加display:block;属性后自动换行!
    JS-遍历对象
    JS-获取对象的长度大小
    HTML-span和div区别
    SQL-Foreach标签
    JS_Select_option切换自动触发事件
    JS_Select赋值的几种方式
    加密系统文件夹
    JS-返回上一页
    metronic 4.5.7开发环境下, 在Windows 10上安装了10.16.0版本的node js之后,导致node sass无法加载
  • 原文地址:https://www.cnblogs.com/xiongzaiqiren/p/8615327.html
Copyright © 2011-2022 走看看