在Python中将整数转换为字符串

1580
14个回答

5
随着Python 3.6中f-strings的引入,这也可以工作:
f'{10}' == '10'

实际上,它比调用str()更快,但可读性较差。

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


1
在Python中,有几种方法可以将整数转换为字符串。您可以使用 [ str(这里放整数) ] 函数,f-string [ f'{这里放整数}' ],.format()函数 [ '{}'.format(这里放整数) ],甚至是 '%s'% 关键字 [ '%s'% 这里放整数]。所有这些方法都可以将整数转换为字符串。
请参见下面的示例。
#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'>)



对于数字,%i%d 可能更适用于 %s。如果 number 是一个整数, print("The number is %i." % number) 也可以正常工作。 - undefined

0
你还可以调用format()函数:
format(42)                 # 42 --> '42'

如果你想添加千位分隔符:

num = 123456789
format(num, ",")           # '123,456,789'
f"{num:,}"
"{:,}".format(num)

或将浮点数转换为字符串表示

format(num, ",.2f")        # '123,456,789.00'
f"{num:,.2f}"
'{:,.2f}'.format(num)

对于“欧洲”分隔符:

format(num, "_.2f").replace('.', ',').replace('_', '.')   # '123.456.789,00'
f"{num:_.2f}".replace('.', ',').replace('_', '.')
"{:_.2f}".format(num).replace('.', ',').replace('_', '.')

0

这里有一个更简单的解决方案:

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

输出控制台

>>> 1

在上面的程序中,int() 用于将整数的字符串表示转换为整数。
注意:只有当变量完全由数字组成时,才能将格式为字符串的变量转换为整数。
同样地,str() 用于将整数转换为字符串。
number = 123567
a = []
a.append(str(number))
print(a) 

我使用了一个列表来打印输出,以突出变量(a)是一个字符串。

输出控制台

>>> ["123567"]

但是要理解列表如何存储字符串和整数的区别,请先查看下面的代码,然后再查看输出。

代码

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

输出控制台

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

请问我的文章是否有用? - Code Carbonate

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接