Geheel getal converteren naar string in Python

Ik wil een geheel getal converteren naar een string in Python. Ik typ het tevergeefs:

d = 15
d.str()

Als ik het probeer te converteren naar een string, wordt er een fout weergegeven zoals intheeft geen attribuut met de naam str.


Antwoord 1, autoriteit 100%

>>> str(10)
'10'
>>> int('10')
10

Links naar de documentatie:

Conversie naar een string wordt gedaan met de ingebouwde functie str(), die in feite de __str__()methode van zijn parameter.


Antwoord 2, autoriteit 6%

Probeer dit:

str(i)

Antwoord 3, autoriteit 3%

Er is geen typecast en geen typedwang in Python. Je moet je variabele op een expliciete manier converteren.

Om een object in string om te zetten, gebruik je de functie str(). Het werkt met elk object waarvoor een methode met de naam __str__()is gedefinieerd. In feite

str(a)

is gelijk aan

a.__str__()

Hetzelfde als je iets wilt converteren naar int, float, etc.


Antwoord 4

Om niet-gehele invoer te beheren:

number = raw_input()
try:
    value = int(number)
except ValueError:
    value = 0

Antwoord 5

>>> i = 5
>>> print "Hello, world the number is " + i
TypeError: must be str, not int
>>> s = str(i)
>>> print "Hello, world the number is " + s
Hello, world the number is 5

Antwoord 6

in Python = & GT; 3.6 U kunt fformatteren:

>>> int_value = 10
>>> f'{int_value}'
'10'
>>>

Antwoord 7

Voor Python 3.6 kunt u de f-strings nieuw gebruiken functie om te converteren naar string en het is sneller in vergelijking met de Str () -functie. Het wordt zo gebruikt:

age = 45
strAge = f'{age}'

Python biedt de Str () functie om die reden.

digit = 10
print(type(digit)) # Will show <class 'int'>
convertedDigit = str(digit)
print(type(convertedDigit)) # Will show <class 'str'>

Voor een meer gedetailleerd antwoord kunt u dit artikel controleren: Converteren van Python Int naar String en Python String to Int


Antwoord 8

De meest fatsoenlijke manier naar mijn mening is “.

i = 32   -->    `i` == '32'

Antwoord 9

U kunt %sof .formatgebruiken:

>>> "%s" % 10
'10'
>>>

Of:

>>> '{}'.format(10)
'10'
>>>

Antwoord 10

Voor iemand die int wil converteren naar string in specifieke cijfers, wordt de onderstaande methode aanbevolen.

month = "{0:04d}".format(localtime[1])

Voor meer details kun je de Stack Overflow-vraag raadplegen Getal weergeven met voorloopnullen .


Antwoord 11

Met de introductie van f-stringsin Python 3.6, zal ook werken:

f'{10}' == '10'

Het is eigenlijk sneller dan het aanroepen van str(), ten koste van de leesbaarheid.

In feite is het sneller dan %xtekenreeksopmaak en .format()!


Antwoord 12

Hier is een eenvoudigere oplossing:

one = "1"
print(int(one))

Uitvoerconsole

>>> 1

In het bovenstaande programma wordt int()gebruikt om de tekenreeksrepresentatie van een geheel getal om te zetten.

Opmerking: een variabele in het formaat string kan alleen in een geheel getal worden omgezet als de variabele volledig uit getallen bestaat.

Op dezelfde manier wordt str()gebruikt om een geheel getal naar een tekenreeks te converteren.

number = 123567
a = []
a.append(str(number))
print(a) 

Ik heb een lijst gebruikt om de uitvoer af te drukken om te benadrukken dat variabele (a) een tekenreeks is.

Uitvoerconsole

>>> ["123567"]

Maar om het verschil te begrijpen hoe een lijst een tekenreeks en een geheel getal opslaat, bekijkt u eerst de onderstaande code en vervolgens de uitvoer.

Code

a = "This is a string and next is an integer"
listone=[a, 23]
print(listone)

Uitvoerconsole

>>> ["This is a string and next is an integer", 23]

Antwoord 13

Er zijn verschillende manieren om een geheel getal om te zetten in een string in python.
U kunt de functie [ str(integer here) ], de f-string [ f'{integer here}’], de .format()-functie [ ‘{}’.format(integer here) en zelfs de ‘%s’ gebruiken % trefwoord [ ‘%s’% geheel getal hier]. Al deze methoden kunnen een geheel getal naar een tekenreeks converteren.

Zie onderstaand voorbeeld

#Examples of converting an intger to string
#Using the str() function
number = 1
convert_to_string = str(number)
print(type(convert_to_string)) # output (<class 'str'>)
#Using the f-string
number = 1
convert_to_string = f'{number}'
print(type(convert_to_string)) # output (<class 'str'>)
#Using the  {}'.format() function
number = 1
convert_to_string = '{}'.format(number)
print(type(convert_to_string)) # output (<class 'str'>)
#Using the  '% s '% keyword
number = 1
convert_to_string = '% s '% number
print(type(convert_to_string)) # output (<class 'str'>)

Antwoord 14

Als u Unary Numeral-systeem , kunt u een integer als dit converteren:

>> n = 6
>> '1' * n
'111111'

Als u een ondersteuning van negatieve inten nodig heeft, kunt u zojuist schrijven:

>> n = -6
>> '1' * n if n >= 0 else '-' + '1' * (-n)
'-111111'

Nul is speciaal geval dat in dit geval een lege reeks inneemt, die correct is.

>> n = 0
>> '1' * n if n >= 0 else '-' + '1' * (-n)
''

Other episodes