2010-06-23 20 views

risposta

27
Dim yourNumber as Int32 = 5 
yourNumber.ToString("D2") '= "05" 
+1

+1 Dai documenti relativi allo specificatore D "Questo formato è supportato solo per i tipi integrali. Il numero viene convertito in una stringa di cifre decimali (0-9), preceduta dal segno meno se il numero è negativo. indica il numero minimo di cifre desiderato nella stringa risultante.Se richiesto, il numero viene riempito con zeri alla sua sinistra per produrre il numero di cifre indicato dallo specificatore di precisione. " http://msdn.microsoft.com/en-us/library/aa720653(v=VS.71).aspx – MarkJ

+0

mi dà InvalidCastException a IFormatProvider:/ –

+0

Che codice stai usando? Sopra dovrebbe funzionare: http://ideone.com/wza8KE –

-3
if(number < 10){ 
    number = Int32.Parse("0" + number.ToString()); 
} 

Credo che fosse un po 'di C# succedendo :) ma si dovrebbe ottenere l'idea.

+0

Questo restituirà un Int32, non una stringa imbottita. – jvenema

+2

hmph ... Int32.Parse eliminerebbe lo 0 iniziale, no? – Piskvor

+0

Ops! Scusa per quello ^^ Non stavo pensando direttamente – Mattias

10

Prova questo:

myNum.ToString().PadLeft(2, "0"); 
+0

Hai bisogno di impostare la larghezza come 2 al prefisso con zero –

+0

Che cosa significa "0-42" significa? –

+0

Buona cattura Iain – jvenema

3

provare il seguente ...

Dim varNumber As Integer = 3 
Dim number As String = String.Format("{0:0#}", varNumber) 

Speranza che aiuta.

+0

1o risultato per Google: vb.net string format zero. http://idunno.org/archive/2004/14/01/122.aspx – mcandre

+0

@mcandre: Non posso visitare quel link qui al lavoro. Cosa mi manca? – Lance

+0

È una guida alla formattazione delle stringhe VB.net, compresi i padding e diversi tipi di formato. – mcandre

1

metodo della vecchia scuola da VB6, funziona ancora:

Dim yourNumber as Long = 5 
Format(yourNumber, "00") ' = "05" ' 

... solo per amore dei vecchi tempi :). Meglio usare Tim's answer.

Problemi correlati