【发布时间】:2011-09-02 13:25:37
【问题描述】:
我有一个double,我想使用以下规则对其进行格式化:
- 如果没有小数位,则只显示数字(参见下面的 100 示例)
- 如果有任何小数位显示 2 个小数位
所以,举几个例子:
100 --> 100
99.958443534 --> 99.96
99.1 -> 99.10
【问题讨论】:
标签: c# number-formatting
我有一个double,我想使用以下规则对其进行格式化:
所以,举几个例子:
100 --> 100
99.958443534 --> 99.96
99.1 -> 99.10
【问题讨论】:
标签: c# number-formatting
你可以检查它是否是一个整数,使用基于它的格式类型:
string res = string.Format(((number % 1) == 0) ? "{0:0}" : "{0:0.00}", number);
【讨论】:
怎么样:
var a = 100;
var b = 99.95844354;
var aAnswer = a.ToString("0.##"); //aAnswer is "100"
var bAnswer = b.ToString("0.##"); //bAnswer is "99.96"
【讨论】:
你可以使用:
decimal a = 99.949999999M;
Math.Round(a, 2); // Returns 99.95
【讨论】: