2009-12-07 18 views
17

Quiero mostrar un número en un informe, sin embargo, solo quiero mostrar los puntos decimales si están presentes y el único que quiero mostrar 1 espacio decimal.Mostrar números sin puntos decimales

p. Ej. si el número es 12 entonces yo quiero mostrar 12

Si el número es de 12,1 Entonces quiero mostrar 12,1

Si el número es 12,11 Entonces quiero mostrar 12,1

Respuesta

33

tuve una muy similar problema hace un tiempo y la respuesta es usar una cadena de formato al convertir el número a una cadena. La manera de resolver el problema es el uso de una cadena de formato numérico personalizado de "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.#")); 

le dará la siguiente salida:

12,1

12,1

+0

pequeña errata, también de muchos x –

+0

Gracias EsbenP, que debe comprobar realmente he modifed los bits que copiar y pegar. –

+1

Sé que esta es una respuesta antigua (y correcta), pero el enlace está roto y debe eliminarse. – akousmata

12

Esto devolverá un número con una única posición decimal (opcional).

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

¿Qué hay de

Math.Round(12.11,1)? 

o

double number = 12.11; 
numer.ToString("0.00") 
Cuestiones relacionadas