【问题标题】:Short way to convert string to int将字符串转换为 int 的简短方法
【发布时间】:2017-06-09 18:52:48
【问题描述】:

我通常这样做是为了将字符串转换为 int:

my_input = int(my_input)

但我想知道是否有不那么笨拙的方法,因为感觉有点长。

【问题讨论】:

    标签: python python-3.x type-conversion


    【解决方案1】:

    如果是用户输入,很可能是用户输入了一个字符串。所以最好用try 捕获异常:

    user_input = '88.8'
    try:
        user_input = int(float(user_input))
    except:
        user_input = 0
    print(user_input)
    

    【讨论】:

      【解决方案2】:

      也许您希望得到类似my_number = my_input.to_int 的东西。但目前无法在本地进行。有趣的是,如果你想从类似浮点的字符串中提取整数部分,你必须先转换为float,然后再转换为int。否则你会得到ValueError: invalid literal for int()

      稳健的方式:

      my_input = int(float(my_input))
      

      例如:

      >>> nb = "88.8"
      >>> int(nb)
      Traceback (most recent call last):
        File "<stdin>", line 1, in <module>
      ValueError: invalid literal for int() with base 10: '88.8'
      >>> int(float(nb))
      88
      

      【讨论】:

        【解决方案3】:
        my_input = int(my_input)
        

        没有比使用int 函数更短的方法了(正如你提到的)

        【讨论】:

          猜你喜欢
          • 2013-09-16
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-12-22
          • 1970-01-01
          • 2010-12-21
          • 1970-01-01
          相关资源
          最近更新 更多