2010-03-09 7 views
6

Powiel możliwe:
Format Number like StackoverFlow (rounded to thousands with K suffix)Jak sformatować liczby w języku C#, aby 12523 stało się "12K", 2323542 stało się "2M" itd.?

Jak mogę numery formatu w C# tak 12523,57 staje się "12K", 2323542,32 staje się "2M", itp?

Nie wiem, jak dołączyć poprawny skrót numeru (K, M itd.) I wyświetlić odpowiednie cyfry?

Więc

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

Czy jest zbudowany w sposób w C# to zrobić?

+3

jest duplikatem http://stackoverflow.com/questions/2134161/format-number -like-stackoverflow-zaokrąglone-do-tysięcy-z-sufiksem-k – Pharabus

+1

Nie, nie jest. To dotyczy właśnie formowania tylko z jednym sufiksem, "K". – Teradact

+0

i dlaczego "M" to? – Fredou

Odpowiedz

6

Nie sądzę, że jest to standardowa funkcjonalność w C#/.net, ale nie jest to trudne. W Pseudokod byłoby coś takiego:

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

Jeśli nie chcą obciąć, ale okrągłe, okrągłe używać zamiast podłogi.

0

Nie ma zbudowany w sposób, będziesz musiał toczyć swoją rutynę, podobnego do tego:

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