2010-06-23 2 views

Antwort

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

+1 Aus den Dokumenten über den D-Spezifizierer "Dieses Format wird nur für ganzzahlige Typen unterstützt. Die Zahl wird in eine Folge von Dezimalziffern (0-9) konvertiert, die mit einem Minuszeichen vorangestellt wird, wenn die Zahl negativ ist Gibt die Mindestanzahl der gewünschten Ziffern in der resultierenden Zeichenfolge an. Falls erforderlich, wird die Zahl links von Nullen aufgefüllt, um die im Präzisionsspezifizierer angegebene Anzahl von Ziffern zu erhalten. " http://msdn.microsoft.com/en-us/library/aa720653(v=VS.71).aspx – MarkJ

+0

gibt mir InvalidCastException zu IFormatProvider:/ –

+0

Welchen Code verwenden Sie? Oben sollte funktionieren: http://ideone.com/wza8KE –

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

Ich denke, dass einig C# war los :), aber Sie sollen die Idee.

+0

Das wird eine Int32, keine gepolsterte Zeichenfolge zurückgeben. – jvenema

+2

hmph ... Int32.Parse würde die führende 0 ausziehen, nein? – Piskvor

+0

Ops! Entschuldigung, dass ^^ War nicht gerade denken – Mattias

10

Try this:

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

Sie müssen die Breite als 2 setzen, um mit Null vorzuspeichern –

+0

Was bedeutet "0-42"? –

+0

Guter Fang Iain – jvenema

3

Versuchen Sie Folgendes ...

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

Hoffnung, das hilft.

+0

1. Ergebnis für Google: vb.net String-Format Null. http://idunno.org/archive/2004/14/01/122.aspx – mcandre

+0

@mcandre: Ich kann diesen Link hier bei der Arbeit nicht besuchen. Was vermisse ich? – Lance

+0

Es ist ein Leitfaden für VB.net String-Formatierung, einschließlich Auffüllen und verschiedene Format-Typen. – mcandre

1

Alte Schule Methode von VB6, funktioniert immer noch:

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

... nur für alte Zeiten willen :). Besser zu verwenden Tim's answer.

Verwandte Themen