如何将整数转换为字符串?

42   ⟶   "42"

相反,请参见How do I parse a string to a float or int?。浮点数可以类似地处理,但处理小数点可能很棘手,因为浮点值不精确。有关更多具体建议,请参阅将浮点转换为字符串而不舍入。


当前回答

>>> str(42)
'42'

>>> int('42')
42

文档链接:

int()str()

str(x)通过调用x.__str__()将任何对象x转换为字符串,如果x没有__str__方法,则调用repr(x)。

其他回答

您可以使用%s或.format:

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

Or:

>>> '{}'.format(10)
'10'
>>>
>>> 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

随着Python 3.6中f-string的引入,这也将起作用:

f'{10}' == '10'

它实际上比调用str()更快,代价是可读性。

事实上,它比%x字符串格式化和.format()更快!

在Python=>3.6中,可以使用f格式:

>>> int_value = 10
>>> f'{int_value}'
'10'
>>>
>>> str(42)
'42'

>>> int('42')
42

文档链接:

int()str()

str(x)通过调用x.__str__()将任何对象x转换为字符串,如果x没有__str__方法,则调用repr(x)。