Hvordan konvertere Int til streng i Python

click fraud protection
Konsentrert afroamerikansk kvinne brainstormer mens de koder data på stasjonær PC.

Python-programmeringsspråket gir deg noen forskjellige måter å konvertere et heltall eller en annen type tall til en streng.

Bildekreditt: skynesher/E+/GettyImages

Python-programmeringsspråket gir deg noen forskjellige måter å konvertere et heltall eller en annen type tall til en streng. Du kan gjøre dette med «str»-funksjonen, eller «unicode»-funksjonen hvis du jobber i Python 2 og ønsker en Unicode-streng, eller med formatstrenger. Hvis du vil gå den andre veien, er det også mulig å konvertere en streng som inneholder et heltall til dette heltall.

Konverter med Str-funksjonen

Den innebygde Python-funksjonen "str" kan konvertere et heltall, et flyttall eller mange andre typer data til en menneskelig lesbar og utskrivbar streng. For å bruke den, ring den på et annet nummer, som i str (5), som vil gi deg strengen "5." Hvis du ønsker å kalle det på en variabel som inneholder et tall, gjør det på samme måte, som f.eks str (x).

Dagens video

Hvis du bruker Python 2.7 eller en tidligere versjon, kan du også bruke "

unicode" funksjon for å generere en Unicode streng fra de fleste typer data, inkludert heltall. Unicode er en internasjonal standard for lagring av tegn fra mange forskjellige språk, sammen med spesialtegn som stjernetegn og emoji. Ringer unicode (5) vil gi deg Unicode-strengen u'5'. Denne funksjonen er ikke nødvendig i Python 3, der strenger er Unicode som standard.

Bruke en formatstreng

Et annet alternativ for å konvertere et heltall til en streng er å bruke en formatstreng. En formatstreng er ganske enkelt en tekststreng med plassholdere for hvor du vil plassere andre data, hver med formen «{}». Ring formatstrengens format metode med argumenter i rekkefølge for hver plassholder, for eksempel "Tallet {} er større enn {}".format (6,2).

Dette er spesielt nyttig hvis du vil sette inn tall eller andre data i større strenger, men du kan også bruke en formatstreng med bare én plassholder hvis du foretrekker det, for eksempel "{}."

Du kan også referere til argumentene i en formatstreng i numerisk rekkefølge som starter med "{0}" eller ved navn hvis du bruker navngitte argumenter. For eksempel formatuttrykket "Tallet {0} er større enn {1}, men {0} er mindre enn {largest_num}".format (6,5,largest_num=7) vil gi strengen "Tall 6 er større enn 5, men 6 er mindre enn 7.

Formatstrenger fungerer i Python 2 og Python 3.

Python streng til heltall funksjon

I noen tilfeller vil du kanskje gå den andre veien, fra Python-streng til int. For å gjøre dette, kall den innebygde "int"-funksjonen på en streng som inneholder den skriftlige representasjonen av et heltall, som f.eks. int("2"), som gir 2. Hvis strengen inneholder noe annet enn et heltall, vil dette mislykkes og generere et unntak. Dette gjelder selv om det er et heltall i begynnelsen av strengen eller innenfor den, selv om du kan ta en delstreng av strengen eller bruke et regulært uttrykk for å finne heltallet.

På samme måte kan du få Python til å konvertere en streng til en dobbel, som betyr det som kalles et flytende tall med dobbel presisjon, ved å bruke flyte funksjon. For eksempel, float("3.2") = 3.2. Husk at flytende tall har begrenset presisjon, så du får kanskje ikke nøyaktig tallet skrevet i strengen. Bruke desimal klasse hvis du trenger vilkårlig presisjon. Les definisjonene av float og desimal riktig for å se hva som passer dine behov best.

Python Float to Int-alternativer

Noen ganger vil du kanskje konvertere et flyttall til et heltall. Hvis det allerede er et heltall, kan du bruke int-funksjonen, så int (3.0) = 3. Hvis det ikke allerede er et heltall, vil funksjonen slippe det som står etter desimaltegn, og runde tallet ned.

Du kan også bruke den innebygde rund funksjon for å runde av til nærmeste heltall eller math.tak å runde tall til det nest høyeste heltall.