Ich habe eine Problem beim umwandeln eines String in einen integer:
Was kann ich machen, dass die 0 an erster stelle auch geprintet wird?
#Eingabe
k = '0231145678'
print(int(k[0:10]))
#Ausgabe
231145678
Probleme beim Umwandeln von str zu int
@Eric23: Du hast kein Problem bei `str` zu `int` sondern beim umgekehrten weg. Das Umwandeln in eine ganze Zahl funktioniert ja Problemlos. Nur wenn Du die Zahl für die Ausgabe wieder in eine Zeichenkette umwandelst, musst Du das explizit machen wenn Du auf eine bestimmte Anzahl von Stellen mit führenden 0en auffüllen lassen willst. Schau Dir mal die `format()`-Methode auf Zeichenketten an.
- cofi
- Python-Forum Veteran
- Beiträge: 4432
- Registriert: Sonntag 30. März 2008, 04:16
- Wohnort: RGFybXN0YWR0
Um es mal zu betonen: Eine Zahl hat keine fuehrenden Nullen, darum musst du die Ausgabe der Zahl entsprechend gestalten, eben mit `.format`
Michael Markert ❖ PEP 8 Übersetzung ❖ Tutorial Übersetzung (3.x) ⇒ Online-Version (Python 3.3) ❖ Deutscher Python-Insider ❖ Projekte
Oder um es von der anderen Seite zu sehen: Eigentlich hat eine Zahl *unendlich viele* führende Nullen. Das wäre praktisch gesehen bei der Umwandlung einer Zahl allerdings recht, äh, unhandlich, weshalb man entsprechend formatieren muss wenn man führende Nullen haben möchte.