Seine 8, nicht 08 in Variable v. Ja, Sie haben es 08 zugewiesen, aber es erhält 8. Das ist der Grund, zeigt Methode angezeigt es als 8. Sie können the work around given by Mipadi verwenden.
Edit:
Ausgang eines Tests.
Prelude> Text.Printf.printf "%01d\n" 08
8
Prelude> Text.Printf.printf "%02d\n" 08
08
Prelude> Text.Printf.printf "%03d\n" 08
008
Ausgabe eines anderen Tests.
Prelude> show 08
"8"
Prelude> show 008
"8"
Prelude> show 0008
"8"
Ich hoffe, Sie bekommen den Punkt.
Edit:
eine andere Abhilfe gefunden. Versuchen Sie dieses,
"0" ++ show v
Ops, der Ausgang ist eigentlich "8", nicht mehr als 8 –
Ähm, Sprichwort v = 08 ist das gleiche wie v = 8 oder v = 008 oder v = 0000008. Es gibt keine Möglichkeit, die Information zurückzubekommen, wie viele Nullen du benutzt hast. Sie können es nur mit einer bestimmten Anzahl von 0s drucken, wie in der Antwort unten. – ShreevatsaR