2009-12-07 17 views
17

Desidero visualizzare un numero in un rapporto, tuttavia, desidero solo mostrare i punti decimali se sono presenti e il solo desidera mostrare 1 spazio decimale.Visualizzazione di numeri senza punti decimali

ad es. se il numero è 12 allora voglio mostrare 12

Se il numero è 12,1 allora voglio mostrare 12,1

Se il numero è 12.11 allora voglio mostrare 12,1

risposta

33

ho avuto una molto simile problema qualche tempo fa e la risposta è usare una stringa di formato quando si converte il numero in una stringa. Il modo per risolvere il problema è quello di utilizzare una stringa di formato numerico personalizzato di "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.#")); 

vi darà la seguente output:

12,1

12,1

+0

piccolo errore di battitura, anche di molte x –

+0

Grazie EsbenP, dovrei davvero controllare ho modifed i bit Copio e incollato. –

+1

So che questa è una risposta vecchia (e corretta), ma il collegamento è rotto e deve essere rimosso. – akousmata

12

Ciò restituirà un numero con una singola posizione decimale (facoltativa).

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

Che dire

Math.Round(12.11,1)? 

o

double number = 12.11; 
numer.ToString("0.00") 
Problemi correlati