2011-09-15 14 views
11

que necesito para dar formato a doble tipo de manera que tenga dos dígitos decimales mínimos pero sin limitación para el número máximo de dígitos decimales:Formato tipo doble con el número mínimo de dígitos decimales

5  -> "5.00" 
5.5 -> "5.50" 
5.55 -> "5.55" 
5.555 -> "5.555" 
5.5555 -> "5.5555" 

¿Cómo puedo lograrlo?

+0

Así que desea convertir a doble cadena y asegúrese de que tiene dígitos decimales mínimas 2? –

+0

@Bojan Kogoj, sí – SiberianGuy

Respuesta

3

Prueba este

static void Main(string[] args) 
    { 
     Console.WriteLine(FormatDecimal(1.678M)); 
     Console.WriteLine(FormatDecimal(1.6M)); 
     Console.ReadLine(); 

    } 

    private static string FormatDecimal(decimal input) 
    { 
     return Math.Abs(input - decimal.Parse(string.Format("{0:0.00}", input))) > 0 ? 
      input.ToString() : 
      string.Format("{0:0.00}", input); 
    } 
32

Usted puede utilizar el formato de specificer 0 para los dígitos no opcionales, y # para los dígitos opcionales:

n.ToString("0.00###") 

En este ejemplo se le da hasta cinco dígitos decimales, se puede añadir más # posiciones según sea necesario.

2

Algo así como ToString("0.00#") debe trabajar

En este caso, sería como máximo de 3 cifras decimales, por lo que añadir picadillo según sea necesario.

Cuestiones relacionadas