2009-12-07 10 views
17

Chcę wyświetlić numer w raporcie, jednak chcę wyświetlić tylko dziesiętne punkty, jeśli tylko są obecne i chcę wyświetlić tylko 1 miejsce dziesiętne.Wyświetlanie liczb bez kropek dziesiętnych

np. jeśli liczba jest 12 następnie chcę pokazać 12

Jeśli numer jest 12,1 następnie chcę pokazać 12,1

Jeśli numer jest 12.11 potem chcę pokazać 12,1

Odpowiedz

33

miałem bardzo podobny problem jakiś czas temu, a odpowiedzią jest użycie ciągu formatu podczas konwersji numeru na ciąg znaków. Sposobem na rozwiązanie problemu jest użycie niestandardowego formatu ciąg liczbowy „0 #”

double x = 12; 
double y = 12.1; 
double z = 12.11; 
Console.WriteLine(x.ToString("0.#")); 
Console.WriteLine(y.ToString("0.#")); 
Console.WriteLine(z.ToString("0.#")); 

daje następujący wynik:

12,1

12,1

+0

mała literówka, zbyt wiele X. –

+0

Dzięki EsbenP, ja naprawdę powinien sprawdzić ja zmodyfikowaliśmy bity kopiować i wklejać. –

+1

Wiem, że jest to stara (i poprawna) odpowiedź, ale link jest zepsuty i powinien zostać usunięty. – akousmata

12

Spowoduje to wyświetlenie numeru z pojedynczym (opcjonalnym) miejscem dziesiętnym.

String.Format("{0:0.#}", number) 
0

Co

Math.Round(12.11,1)? 

lub

double number = 12.11; 
numer.ToString("0.00") 
Powiązane problemy