Paano Mag-convert ng isang String sa integer gamit ang Python



Magbibigay sa iyo ang artikulong ito ng isang detalyado at komprehensibong kaalaman tungkol sa kung paano i-convert ang isang string sa integer sa iba't ibang mga paraan na may mga halimbawa.

Sa paksang ito, matututunan namin ang tungkol sa kung paano mag-convert ng isang string sa integer kasama at nang hindi gumagamit ng in-built na uri ng data. Alam namin na ang isang string ay isang koleksyon ng mga character na nakaayos nang sunud-sunod na nakapaloob sa loob ng mga quote at ang isang integer ay isang numero nang walang anumang decimal point at hindi nakapaloob sa anumang uri ng mga quote.

String sa integer python





Ngunit kapag ang tanong ay kung paano i-convert ang isang uri ng data sa isa pa, nagbibigay ang Python ng isang madaling paraan upang mag-convert sa bawat isa. Sa kasong ito, nakikita namin kung paano namin mai-convert ang isang string sa isang integer sa sumusunod na pagkakasunud-sunod:

Paggamit ng mga built in na Uri ng Data



Ipagpalagay kapag kumuha ako ng input mula sa gumagamit para sa ilang kadahilanan, kinukuha ito ng Python at ibabalik ito bilang isang string mismo. Sa madaling salita, kahit na ang isang tao ay nagta-type ng isang bilang bilang isang input, ibabalik ito ng Python bilang isang string.

name = input ('Ano ang iyong pangalan:') print (name) print (type (name)) age = input ('What is your age:') print (age) print (type (age))

Output:

Ano ang iyong pangalan: Tyra



Tyra

Ano ang edad mo: 20

dalawampu

Kaya't nakikita mo, ang uri ng pangalan at edad na kinuha bilang input ay 'String'.

Ngayon, ipagpalagay kung nais nating magdagdag ng 5 sa edad, gagawin namin ang sumusunod:

pag-uri-uriin ang isang array sa c ++
name = input ('Ano ang iyong pangalan:') print (name) print (type (name)) age = input ('What is your age:') print (age) print (type (age)) print (age + 5)

Output:

Ano ang iyong pangalan: Tyra

Tyra

Ano ang edad mo: 20

dalawampu

Traceback (pinakahuling huling tawag):

File 'C: /Users/prac.py', linya 9, sa

print (edad + 5)

TypeError: dapat na str, hindi int

Hindi namin maidaragdag ang 5 sa edad dahil ang edad ay uri ng String at hindi namin magagawa ang direktang matematika gamit ang mga string. Kaya kailangan nating baguhin ang edad sa isang integer dahil tumagal kami sa edad bilang input at ibabalik ito ng Python bilang String.

Dahil dito

name = input ('Ano ang iyong pangalan:') print (name) print (type (name)) age = input ('What is your age:') print (age) print (type (age)) age = int ( edad) naka-print (edad + 5)

Output:

Ano ang iyong pangalan: Tyra

Tyra

Ano ang edad mo: 20

dalawampu

sa lakas ng java

25

Maginoo paraan

Ipagpalagay na hindi namin nais na gamitin ang built-in na function na int () upang mai-convert ang string sa isang integer.Kaya kailangan nating gamitin ang maginoo paraan upang i-convert.

makakuha ng petsa mula sa string java

Narito ang isang simpleng paraan upang pumunta para sa conversion nang hindi gumagamit ng int ().

'' '' 123 '-> 123' -12332 '-> -12332' '' def str_to_int (input_str): output_int = 0 kung input_str [0] == '-': start_idx = 1 is_negative = True else: start_idx = 0 is_negative = Mali para sa i sa saklaw (start_idx, len (input_str)): lugar = 10 ** (len (input_str) - (i + 1)) digit = ord (input_str [i]) - ord ('0') output_int + = lugar * digit kung is_negative: return -1 * output_int iba pa: 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))

Output:

123

-123

  • Una, susuriin namin kung ang numerong ibinigay ng gumagamit ay naglalaman ng anumang minus sign o hindi, ibig sabihin ay isang negatibong numero o hindi.Kung naglalaman ito sa unang posisyon sa isang minus sign, sinisimulan namin ang aming conversion mula sa pangalawang posisyon na naglalaman ng mga numero.

  • Anumang numero, sabihin nating 123, ay maaaring maisulat sa form -10 ** 2 * 1 + 10 ** 1 * 2 + 10 ** 0 * 3

  • Katulad nito, pinaghiwalay namin ang bawat isa sa input na numero na ginagamit mga salita (argumento) .

  • magbabalik ang ord (‘0’) ng 48, magbabalik ang ord (‘1’) ng 49 atbp.

  • Narito ginagamit namin ang lohika na nagtala ('1') - ord ('0) = 1, ord (' 2 ') - ord (' 0 ') = 2 atbp na nagbibigay sa amin ng makabuluhang bilang na makuha mula sa ibinigay numero ng pag-input.

  • Sa wakas, ang output na nakukuha namin mula sa pagpapaandar ay isang legit integer na na-convert namin mula sa ibinigay na input string.

Kaya't nakikita mo, maaari naming mai-convert ang anumang string sa integer alinman sa paggamit ng int () function o sa maginoo na paraan.

Inaasahan kong natutunan mo nang mabuti ang mga konsepto at samakatuwid ay subukan ito upang maging mas tumpak at kasama nito, natapos namin ang artikulong ito sa Converting a String upang gamitin ang Python.

May tanong ba sa amin? Mangyaring banggitin ito sa seksyon ng mga komento ng String to Integer Tutorial na ito at babalikan ka namin sa lalong madaling panahon.

Upang makakuha ng malalim na kaalaman sa Python kasama ang iba't ibang mga application nito, maaari kang magpatala nang live na may 24/7 na suporta at buhay na pag-access.