2011-08-04 18 views

Trả lời

21

Sử dụng các mẫu String.Format() khác nhau.

Ví dụ:

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

sẽ sản xuất 20,00. (2 chữ số thập phân vì N2 đã được chỉ định).

Standard Numeric Format Strings cung cấp nhiều thông tin về các chuỗi định dạng khác nhau cho các số, cùng với một số ví dụ.

+0

Ngoài ra, sử dụng 'decimalVar .ToString ("#. ##"); 'như được đề xuất [ở đây] (http://stackoverflow.com/questions/164926/c-sharp-how-do-i-round-a-decimal-value-to- 2 thập phân-địa điểm-cho-đầu ra-trên-một-pa). – meepzh

+0

@meepzh - Đó là một giải pháp thay thế hợp lệ, nhưng đáng chú ý là một số lưu ý trong các nhận xét. – Tim

3

Bạn có thể thực hiện một phương pháp khuyến nông như thế này:

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); 
     } 
    } 
} 

sẽ cho kết quả: a: "465,97", b: "465,9740", c: "465,9740000000"