Hoe een string naar een geheel getal te converteren met Python



Dit artikel biedt u gedetailleerde en uitgebreide kennis over hoe u een string op verschillende manieren naar een geheel getal kunt converteren met voorbeelden.

In dit onderwerp zouden we leren hoe we een string naar een geheel getal kunnen converteren met en zonder het ingebouwde gegevenstype te gebruiken. We weten dat een tekenreeks een verzameling tekens is die opeenvolgend tussen aanhalingstekens zijn gerangschikt en dat een geheel getal een getal is zonder decimale punten en niet tussen aanhalingstekens.

String naar integer python





Maar als de vraag komt hoe het ene gegevenstype naar het andere moet worden geconverteerd, biedt Python een gemakkelijke manier om naar elkaar te converteren. In dit geval zien we hoe we een string in de volgende volgorde naar een geheel getal kunnen converteren:

Met behulp van ingebouwde gegevenstypen



Stel dat wanneer ik om de een of andere reden invoer van de gebruiker neem, Python het neemt en het zelf als een string retourneert. Met andere woorden, zelfs als iemand een getal als invoer typt, retourneert Python het als een string.

name = input ('Wat is uw naam:') print (naam) print (type (naam)) leeftijd = input ('Wat is uw leeftijd:') print (leeftijd) print (type (leeftijd))

Uitgang:

Hoe heet je: Tyra



Tyra

dubbel naar int in java

Wat is uw leeftijd: 20

twintig

U ziet dus dat het type naam en leeftijd dat als invoer wordt gebruikt ‘String’ is.

Stel nu dat als we 5 bij de leeftijd willen optellen, we het volgende doen:

name = input ('Wat is uw naam:') print (naam) print (type (naam)) leeftijd = input ('Wat is uw leeftijd:') print (leeftijd) print (type (leeftijd)) print (leeftijd + 5)

Uitgang:

Hoe heet je: Tyra

Tyra

Wat is uw leeftijd: 20

twintig

Hertraceren (meest recente oproep als laatste)

Bestand 'C: /Users/prac.py', regel 9, in

print (leeftijd + 5)

mijn sql-tutorials voor beginners

TypeError: moet str zijn, niet int

We kunnen geen 5 bij de leeftijd optellen omdat leeftijd van het type String is en we geen directe wiskunde met strings kunnen uitvoeren. We moeten dus de leeftijd wijzigen in een geheel getal omdat we leeftijd als invoer hebben genomen en Python het retourneert als String.

Vandaar.

name = input ('What is your name:') print (name) print (type (name)) age = input ('What is your age:') print (age) print (type (age)) age = int ( leeftijd) print (leeftijd + 5)

Uitgang:

Hoe heet je: Tyra

Tyra

Wat is uw leeftijd: 20

twintig

25

Conventionele manier

Stel dat we de ingebouwde functie int () niet willen gebruiken om een ​​string naar een geheel getal te converteren.Dus we moeten de conventionele manier bekeren.

Hier is een eenvoudige manier om voor conversie te gaan zonder int () te gebruiken.

'' '' 123 '-> 123' -12332 '-> -12332' '' def str_to_int (input_str): output_int = 0 if input_str [0] == '-': start_idx = 1 is_negative = Waar anders: start_idx = 0 is_negative = False voor i binnen bereik (start_idx, len (input_str)): place = 10 ** (len (input_str) - (i + 1)) digit = ord (input_str [i]) - ord ('0') output_int + = plaats * cijfer if is_negative: return -1 * output_int anders: return output_int s = '554' x = str_to_int (s) print (type (x)) s = '123' print (str_to_int (s)) s = '-123' print (str_to_int (s))

Uitgang:

123

-123

  • Eerst controleren we of het door de gebruiker opgegeven nummer een minteken bevat of niet, dat wil zeggen of het een negatief nummer is of niet.Als het op de eerste positie een minteken bevat, beginnen we onze conversie vanaf de tweede positie die getallen bevat.

  • Elk nummer, laten we zeggen 123, kan in de vorm worden geschreven -10 ** 2 * 1 + 10 ** 1 * 2 + 10 ** 0 * 3

  • Op dezelfde manier splitsen we elk van de invoernummers op met woorden (argument) .

  • ord (‘0’) retourneert 48, ord (‘1’) retourneert 49 enz.

  • Hier gebruiken we de logica dat ord ('1') - ord ('0) = 1, ord (' 2 ') - ord (' 0 ') = 2 etc. wat ons het significante getal geeft dat moet worden opgehaald uit de gegeven ingang nummer.

  • Eindelijk is de uitvoer die we van de functie krijgen een legitiem geheel getal dat we hebben geconverteerd uit de gegeven invoerstring.

Zoals u kunt zien, kunnen we elke tekenreeks naar een geheel getal converteren met de functie int () of op de conventionele manier.

converteer een string tot nu toe in java

Ik hoop dat je de concepten goed hebt geleerd en het daarom uitprobeert om nauwkeuriger te zijn en hiermee komen we aan het einde van dit artikel over het converteren van een string naar int met Python.

Heeft u een vraag voor ons? Vermeld het in het opmerkingengedeelte van deze String to Integer-zelfstudie en we nemen zo snel mogelijk contact met u op.

Om diepgaande kennis op te doen over Python en de verschillende applicaties, kunt u zich live inschrijven met 24/7 ondersteuning en levenslange toegang.