2010-03-09 23 views
6

thể trùng lặp:
Format Number like StackoverFlow (rounded to thousands with K suffix)Làm cách nào để định dạng số trong C# để 12523 trở thành "12K", 2323542 trở thành "2M", v.v ...?

Làm thế nào tôi có thể số định dạng trong C# để 12.523,57 trở thành "12K", 2.323.542,32 trở thành "2M", vv?

Tôi không biết cách chắp thêm chữ số chính xác (K, M, v.v ...) và hiển thị các chữ số thích hợp?

Vì vậy,

1000 = 1K 
2123.32 = 2K 
30040 = 30k 
2000000 = 2M 

Có được xây dựng theo cách trong C# để làm điều này?

+3

này là bản sao của http://stackoverflow.com/questions/2134161/format-number -like-stackoverflow-tròn-to-nghìn-với-k-hậu tố – Pharabus

+1

Không, nó không phải là. Điều đó đề cập đến việc định hình cụ thể cho chỉ một hậu tố "K". – Teradact

+0

và tại sao "M" sau đó? – Fredou

Trả lời

6

Tôi không nghĩ đây là chức năng tiêu chuẩn trong C# /. Net, nhưng không khó để tự làm điều này. Trong mã giả nó sẽ là một cái gì đó như thế này:

if (number>1000000) 
    string = floor(number/1000000).ToString() + "M"; 
else if (number > 1000) 
    string = floor(number/1000).ToString() + "K"; 
else 
    string = number.ToString(); 

Nếu bạn không muốn cắt ngắn, nhưng tròn, sử dụng vòng thay vì sàn.

0

không có xây dựng theo cách, bạn sẽ phải cuộn thói quen riêng của bạn, tương tự như sau:

public string ConvertNumber(int num) 
{ 
    if (num>= 1000) 
     return string.Concat(num/ 1000, "k"); 
    else 
     return num.ToString(); 
} 
Các vấn đề liên quan