2012-03-06 18 views
12

Tengo un campo amount que es un decimal en la base de datos. Necesito mostrar siempre esta cantidad con 10 números a la izquierda del decimal y dos después.C# Cantidad de relleno con ceros

Ejemplo:
Amount = 245.00 que debería mostrar como 0000000245.00 Además, la cantidad podría ser mayor de 1.000 o 10.000 que debe aparecer como:

0000001245.00 y 0000011245.00

¿Cómo puedo formatear la cantidad de tener siempre el número apropiado de ceros en el lado izquierdo del decimal con un tamaño de cantidad variable?

Respuesta

23

Usted debe poner de 0 en su cadena de formato. Algo como esto.

myValue.ToString("0000000000.00"); 

Eso siempre le dará 10 dígitos en el lado izquierdo de su punto decimal y dos a la derecha.

Si no desea dos dígitos en el lado derecho ... haga esto.

myValue.ToString("0000000000.##"); 

Esto dice hey si tenemos un valor mostrarlo; de lo contrario, sáltelo.

+0

Esto hará el redondeo. –

8

Esto debería ayudar ... http://www.csharp-examples.net/string-format-int/

para que pueda usar esta

string.Format("{0:0000000000.00}", 15.25); // "0000000015.25"

+0

Pensé esto también, pero volví a leer la pregunta. Los dígitos a la derecha del punto decimal deberían variar y no siempre ser exactamente dos. – Yuck

+0

@Yuck No es así como lo entiendo 'Necesito mostrar siempre esta cantidad con 10 números a la izquierda del decimal y dos después. ... no funcionará con números mayores a 9999999999, porque entonces lo hará tiene 11 números al frente :) –

+0

Tenga en cuenta que ToString es más eficiente que string.Format. En otras palabras, asumiendo que 'd' es una variable decimal,' d.ToString ("0000000000.00") 'es más eficiente que' string.Format ("{0: 0000000000.00}", d) ' – phoog

2

yourDecimalVariable.ToString ("0000000000.00") debería hacer el truco.

Cuestiones relacionadas