Probleme beim Umwandeln von str zu int

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Eric23
User
Beiträge: 12
Registriert: Samstag 20. Februar 2016, 22:54

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
BlackJack

@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.
Benutzeravatar
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`
BlackJack

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. :-)
Antworten