2010-03-09 3 views
6

Mögliche Duplizieren:
Format Number like StackoverFlow (rounded to thousands with K suffix)Wie kann ich Zahlen in C# formatieren, so wird 12523 "12K", 2323542 wird "2M" usw.?

Wie kann ich Format Zahlen in C# so 12523,57 "12K" wird, 2.323.542,32 wird "2M", etc?

Ich weiß nicht, wie man die richtige Nummer Abkürzung (K, M, etc) anhängen und die entsprechenden Ziffern anzeigen?

So

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

Gibt es eine in Art und Weise in C# gebaut, dies zu tun?

+3

dies ist ein Duplikat http://stackoverflow.com/questions/2134161/format-number -like-stackoverflow-gerundet-zu-tausende-mit-k-suffix – Pharabus

+1

Nein, ist es nicht. Es handelt sich um die spezifische Formatierung für nur ein Suffix "K". – Teradact

+0

und warum "M" dann? – Fredou

Antwort

6

Ich glaube nicht, dass dies Standard-Funktionalität in C# /. Net ist, aber es ist nicht so schwierig, das selbst zu tun. In Pseudo-Code wäre es so etwas wie dieses:

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

Wenn Sie nicht gestutzt wollen, aber rund, verwenden rund statt Boden.

0

Es gibt keine in Art und Weise gebaut ist, werden Sie Ihre eigene Routine zu rollen haben, ähnlich wie diese:

public string ConvertNumber(int num) 
{ 
    if (num>= 1000) 
     return string.Concat(num/ 1000, "k"); 
    else 
     return num.ToString(); 
}