¿Cómo puedo formatear un número con un número fijo de decimales (mantener los ceros finales) donde una variable especifica el número de lugares?¿Cómo puedo formatear un decimal en un número controlado por programa de decimales en C#?
p. Ej.
int x = 3;
Console.WriteLine(Math.Round(1.2345M, x)); // 1.234 (good)
Console.WriteLine(Math.Round(1M, x)); // 1 (would like 1.000)
Console.WriteLine(Math.Round(1.2M, x)); // 1.2 (would like 1.200)
Tenga en cuenta que ya que quiero para controlar el número de plazas mediante programación, esto no va a funcionar string.Format (seguramente no debo generar la cadena de formato):
Console.WriteLine(
string.Format("{0:0.000}", 1.2M)); // 1.200 (good)
¿Debo incluir Microsoft.VisualBasic y use FormatNumber?
Espero que me pierda algo obvio aquí.
¿Cómo se especifica el número de decimales como una variable? Supongo que podría hacer (1.2M) .ToString ("D" + x) pero eso parece un poco hacky –
Bueno, siempre puedes convertirlo en un método de extensión. –
Me está creciendo, gracias también por el método de extensión. –