2011-08-04 18 views

回答

21

使用各種String.Format()模式。

例如:

int someNumber = 20; 
string strNumber = someNumber.ToString("N2"); 

將產生20,00。 (因爲指定了N2,所以小數點後兩位)。

Standard Numeric Format Strings給出了關於數字的各種格式字符串以及一些示例的大量信息。

+0

另外,使用'decimalVar .ToString(「#。##」);'按建議[這裏](http://stackoverflow.com/questions/164926/c-sharp-how-do-i-round-a-decimal-value-to- 2-十進制地方換輸出上-A-PA)。 – meepzh

+0

@meepzh - 這是一個有效的選擇,但值得注意的是評論中的一些注意事項。 – Tim

3

你可以做的擴展方法是這樣的:

using System; 

namespace toFixedExample 
{ 
    public static class MyExtensionMethods 
    { 
     public static string toFixed(this double number, uint decimals) 
     { 
      return number.ToString("N" + decimals); 
     } 
    } 

    class Program 
    { 
     static void Main(string[] args) 
     { 
      double d = 465.974; 
      var a = d.toFixed(2); 
      var b = d.toFixed(4); 
      var c = d.toFixed(10); 
     } 
    } 
} 

將導致: 一: 「465.97」,B: 「465.9740」 C: 「465.9740000000」