【问题标题】:how to convert single quotes string to number in python [duplicate]如何在python中将单引号字符串转换为数字[重复]
【发布时间】:2018-05-18 05:16:03
【问题描述】:

我有一些带单引号的字符串类型。例如,g

var = '2,000'
type(var) # <class 'str'>

我想把它转换成 int。

我试过int(var) 但它给出了一个错误

以 10 为底的 int() 的无效文字:'2,000'

【问题讨论】:

  • 您的字符串中有一个,,您需要先删除它才能进行转换
  • 看看这个问题:):stackoverflow.com/questions/2953746/…
  • 顺便说一句,当您写var = '2000' 时,您实际上在问题中撒谎,因为该字符串不会产生错误。当字符串为var = '2,000' 时会发生错误,因此您应该将其放在问题中。见How to create a Minimal, Complete, and Verifiable example
  • 我是个白痴!!完全忽略了它。是的,它应该是“2,000”而不是“2000”,我已经在问题中更新了

标签: python string int single-quotes


【解决方案1】:

如果您的号码包含“,”,那么您应该使用它。

 > var = '2,000'
 > int(a.replace(',', ''))
 > 2000

其他的

 >  var = '2000'
 >  i = int(var)

【讨论】:

    【解决方案2】:

    我得到了这些结果:

    var = '2000'
    print(type(var)) # <class 'str'>
    myInt = int(var)
    print(type(myInt)) # <class 'int'>
    

    那么您能否尝试并分享您的所有相关代码。

    【讨论】:

      【解决方案3】:

      我认为您的错误消息显示您使用的是“2,000”而不是“2000” 尝试使用 str.replace 删除字符串中的逗号或任何字母

       int ("2,000,000".replace("," , ""))
      

      【讨论】:

        【解决方案4】:
        var = '2000'
        
        print(type(int(var)))
        

        输出:

        &lt;class 'int'&gt;

        解释:

        使用int 转换为integer

        【讨论】:

        • 不,不要使用eval()。有更简单、更安全的转换方法。
        • @IgnacioVazquez-Abrams:谢谢。我已经更新了
        猜你喜欢
        • 2013-10-30
        • 1970-01-01
        • 1970-01-01
        • 2012-05-30
        • 2021-08-07
        • 2016-09-23
        • 1970-01-01
        • 2019-03-07
        • 2018-06-11
        相关资源
        最近更新 更多