Android

Hoe tekenreeksen te converteren naar gehele getallen in python

Berekeningen met 2 gehele getallen

Berekeningen met 2 gehele getallen

Inhoudsopgave:

Anonim

Alle gegevenstypen in Python, inclusief gehele getallen en tekenreeksen, zijn objecten. Vaak moet u bij het schrijven van Python-code het ene gegevenstype omzetten in een ander. Als u bijvoorbeeld een wiskundige bewerking wilt uitvoeren op een getal dat wordt weergegeven als een tekenreeks, moet deze worden omgezet in een geheel getal.

In deze zelfstudie laten we u zien hoe u een Python-tekenreeks naar een geheel getal converteert.

Python int() Functie

De ingebouwde functie int() retourneert een decimaal geheel getal-object van een gegeven getal of tekenreeks. Het heeft de volgende vorm:

int(x, base=10)

De functie `accepteert twee argumenten:

  • x - String of getal dat moet worden geconverteerd naar een geheel getal. base - Het vertegenwoordigt het cijfersysteem van het eerste argument. De waarde kan 0 en 2-36 zijn. Als er geen basis wordt opgegeven, is de standaardwaarde 10 (decimaal geheel getal).

Gewoonlijk worden gehele getallen uitgedrukt in hexadecimale (basis 16), decimale (basis 10), octale (basis 8) of binaire (basis 2) notatie.

Als het gegeven argument niet als een geheel getal kan worden weergegeven, genereert de functie een uitzondering ValueError .

Een Python-string omzetten in een geheel getal

In Python is een 'string' een lijst met tekens die wordt gedeclareerd met enkele ( ' ), dubbele ( " ) of drievoudige aanhalingstekens ( """ ).

Als een variabele die alleen getallen bevat wordt gedeclareerd met aanhalingstekens, wordt het gegevenstype ingesteld op String. Overweeg het volgende voorbeeld:

days = "23" type(days)

De functie type() laat zien dat days een String-object is.

Laten we proberen een wiskundige bewerking uit te voeren op de variabele:

print(days+5)

Python TypeError uitzonderingsfout TypeError omdat we geen optellingsberekening met string en geheel getal kunnen uitvoeren:

Traceback (most recent call last): File " ", line 1, in TypeError: cannot concatenate 'str' and 'int' objects Traceback (most recent call last): File " ", line 1, in TypeError: cannot concatenate 'str' and 'int' objects Traceback (most recent call last): File " ", line 1, in TypeError: cannot concatenate 'str' and 'int' objects

Om een ​​stringvoorstelling van een decimaal geheel getal om te zetten in int , geeft u de string door aan de functie int() , die een decimaal geheel getal retourneert:

days = "23" days_int = int(days) type(days_int)

print(days_int+5)

28

Als het aantal komma's, duizenden, miljoenen enz. Bevat, moet u de komma's verwijderen voordat u het nummer aan de functie int() doorgeeft:

total = "1, 000, 000" int(total.replace(", ", ""))

1000000

Wanneer u tekenreeksen converteert die gehele getallen in verschillende nummerstelsels vertegenwoordigen, moet u ervoor zorgen dat u de juiste base .

In het hexadecimale systeem wordt bijvoorbeeld het getal 54732 weergegeven als D5CF . Om het te converteren naar een decimaal geheel getal moet je base 16 gebruiken:

int("D5CF", 16)

54735

Als u de D5CF reeks D5CF aan de functie int() zonder een basis in te stellen, D5CF dit een ValueError uitzondering:

int("D5CF")

Traceback (most recent call last): File " ", line 1, in ValueError: invalid literal for int() with base 10: 'D5CF' Traceback (most recent call last): File " ", line 1, in ValueError: invalid literal for int() with base 10: 'D5CF' Traceback (most recent call last): File " ", line 1, in ValueError: invalid literal for int() with base 10: 'D5CF'

Conclusie

In Python kunt u een tekenreeks naar een geheel getal converteren met de functie int() .

Python