首页 文章

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

提问于
浏览 1947 次
1089

我想在Python中将整数转换为字符串 . 我是徒劳地捣蛋:

d = 15
d.str()

当我尝试将其转换为字符串时,它显示错误,如 int 没有任何名为 str 的属性 .

9 回答

  • 15

    可以使用 %s.format

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

    (要么)

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

    Python中没有类型转换和类型强制 . 您必须以明确的方式转换变量 .

    要转换字符串中的对象,请使用 str() 函数 . 它适用于任何定义了名为 __str__() 的方法的对象 . 事实上

    str(a)
    

    相当于

    a.__str__()
    

    如果要将某些内容转换为int,float等,则相同 .

  • 3

    试试这个:

    str(i)
    
  • 5

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

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

    要管理非整数输入:

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

    好的,如果我使用你的最新代码并重写一下以使其与Python一起使用:

    t=raw_input()
    c=[]
    for j in range(0,int(t)):
        n=raw_input()
        a=[]
        a,b= (int(i) for i in n.split(' '))
        d=pow(a,b)
        d2=str(d)
        c.append(d2[0])
    for j in c:
        print j
    

    它给了我类似的东西:

    >>> 2
    >>> 8 2
    >>> 2 3
    6
    8
    

    这是字符串结果 pow(a,b) 的第一个字符 . 我们在这里做什么?

  • 45

    对于想要将int转换为特定数字字符串的人,建议使用以下方法 .

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

    有关更多详细信息,请参阅Stack Overflow问题Display number with leading zeros .

  • 3
    >>> str(10)
    '10'
    >>> int('10')
    10
    

    文档链接:

    问题似乎来自这条线: d.str() .

    转换为字符串是使用内置 str() 函数完成的,该函数基本上调用其参数的str()方法 .

  • 2

    在我看来,最体面的方式是`` .

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

相关问题