如何将十进制值舍入为2个小数位(用于页面上的输出)

当用.ToString()显示当前小数的值时,它精确到15位小数,因为我用它来表示美元和美分,所以我只希望输出为2位小数。

我为此使用了.ToString()的变体吗?


decimalVar.ToString ("#.##"); // returns "" when decimalVar == 0

要么

decimalVar.ToString ("0.##"); // returns "0"  when decimalVar == 0

我知道这是一个古老的问题,但我很惊讶地发现没有人似乎发布了答案;

  • 没有使用银行家四舍五入
  • 没有将值保留为小数。
  • 这是我会用的:

    decimal.Round(yourValue, 2, MidpointRounding.AwayFromZero);
    

    http://msdn.microsoft.com/en-us/library/9s0xa85y.aspx


    decimalVar.ToString("F");
    

    这会:

  • 取整到小数点后两位,例如。 23.456 => 23.46
  • 确保总是有2个小数位,例如。 23 => 23.00,12.5 => 12.50
  • 理想的货币和显示金额。

    有关ToString(“F”)的文档:http://msdn.microsoft.com/en-us/library/dwhawy9k%28v=vs.110%29.aspx#FFormatString(感谢Jon Schneider)

    链接地址: http://www.djcxy.com/p/21361.html

    上一篇: How do I round a decimal value to 2 decimal places (for output on a page)

    下一篇: Pass Method as Parameter using C#