2010-11-30 14 views
5

Tengo los siguientes dígitos. Quiero mostrar un dígito después a decimal. Cómo formatearlo?un decimal para el formato de cadena

2.85 
2 
1.99 

que estaba usando ("{0: 0.0}". Pero los datos que muestran como

2.9 //It should be 2.8 
2.0 //It should be 2 
2.0 //It should be 1.9 
+1

(roun estricta Ding-down es bastante inusual) –

Respuesta

7

Trate de usar "{0:0.#}" como la cadena de formato Sin embargo, que sólo se solucionará el .0 Para solucionar el.. redondeo para redondear hacia abajo siempre , es posible que desee utilizar:

string s = (Math.Floor(value * 10)/10).ToString("0.#"); 
2
Decimal[] decimals = { new Decimal(2.85), new Decimal(2), new Decimal(1.99) }; 

foreach (var x in decimals) 
{ 
    Console.WriteLine(string.Format("{0:0.#}", Decimal.Truncate(x * 10)/10)); 
} 

// output 
2.8 
2 
1.9 
Cuestiones relacionadas