什么是格式化这个数字的最佳方法?

时间:2011-09-02 13:25:38

标签: c# number-formatting

我有一个double,我希望使用以下规则对其进行格式化:

  1. 如果没有小数位,只显示数字(参见下面的100例)
  2. 如果有任何小数位显示2位小数
  3. 所以,举几个例子:

    100 --> 100  
    99.958443534 --> 99.96  
    99.1 -> 99.10  
    

3 个答案:

答案 0 :(得分:4)

你可以检查它是否是一个整数,使用基于它的格式类型:

string res = string.Format(((number % 1) == 0) ? "{0:0}" : "{0:0.00}", number);

答案 1 :(得分:1)

怎么样:

var a = 100;
var b = 99.95844354;

var aAnswer = a.ToString("0.##"); //aAnswer is "100"
var bAnswer = b.ToString("0.##"); //bAnswer is "99.96"

答案 2 :(得分:0)

您可以使用:

decimal a = 99.949999999M;

Math.Round(a, 2);  // Returns 99.95