Python "12€" in "12" (int) umwandeln?

5 Antworten

Ja, du kannst die Eingabe des Benutzers in einen numerischen Wert umwandeln, indem du die int-Funktion oder die float-Funktion verwendest. Beispielsweise:

stundenlohn = float(input("Was ist dein Stundenlohn? "))

Dies wird die Eingabe des Benutzers in einen Gleitkommawert umwandeln, sodass du damit rechnen kannst. Wenn der Benutzer jedoch einen Wert eingibt, der nicht in einen numerischen Wert umgewandelt werden kann, wird ein Fehler auftreten. Um dies zu vermeiden, kannst du die try und except-Anweisungen verwenden, um den Fehler abzufangen und dem Benutzer mitzuteilen, dass er einen ungültigen Wert eingegeben hat.

try:
 stundenlohn = float(input("Was ist dein Stundenlohn? "))
except ValueError:
 print("Bitte geben Sie einen gültigen Stundenlohn ein.")

Mit diesem Code wird versucht, die Eingabe des Benutzers in einen Gleitkommawert umzuwandeln. Wenn die Eingabe erfolgreich umgewandelt werden kann, wird der Wert der stundenlohn-Variablen zugewiesen. Wenn jedoch ein Fehler auftritt, wird der Fehler abgefangen und der Benutzer wird aufgefordert, einen gültigen Stundenlohn einzugeben.

Hallo

Um in Python eine Zahl, die als String mit einem Euro-Zeichen eingegeben wurde, in einen Integer umzuwandeln, kannst du die int()-Funktion verwenden, die in Python zur Konvertierung von Strings in Integer verwendet wird. Du kannst den String vorher bearbeiten, um das Euro-Zeichen zu entfernen, und dann die int()-Funktion aufrufen, um ihn in einen Integer umzuwandeln.

Ein Beispiel für den Code, der dies tun würde, könnte wie folgt aussehen:

# Fragen den Benutzer nach dem Stundenlohn und speichert die Eingabe in einer Variablen
stundenlohn = input("Was ist dein Stundenlohn? ")


# Entfernt das Euro-Zeichen aus dem String und speichert das Ergebnis in einer neuen Variablen
stundenlohn_int = stundenlohn.replace("€", "")


# Konvertiert den String in einen Integer und speichert das Ergebnis in einer neuen Variablen
stundenlohn_int = int(stundenlohn_int)


# Verwendet den Integer für Berechnungen
stundenlohn_pro_monat = stundenlohn_int * 8 * 20
print("Dein Monatslohn beträgt", stundenlohn_pro_monat, "€")

In dem obigen Code wird der Benutzer zunächst nach dem Stundenlohn gefragt und die Eingabe in der Variablen stundenlohn gespeichert.

Ich hoffe das hilft!

Hey,

du kannst entweder direkt vom Nutzer verlangen, dass dieser nur die Zahl eingibt oder du entfernst jedes mal das € Zeichen vom eingelesenen string.

Mfg Jannick (L1nd)

Woher ich das weiß:eigene Erfahrung

Stundenlohn2 = int(Stundenlohn.replace("€", ""))

//Neue variable, da wir datentyp integer brauchen und "12€" ein Str wäre

//.replace sucht nach allen € und ersetzt sie durch nichts, also löscht es

Woher ich das weiß:Hobby

input() ist immer vom Typ str.

dann müsstest du erstmal ein typecast machen zu int(input()) und dann kaann 12€ nicht zu int umgewandelt w3erden und du kriegst eine exception, die kannst du abfangen mit

try:

code

exception Exception:

print("WRONG INPUT")