【问题标题】:Why am I getting an invalid literal error?为什么我会收到无效的文字错误?
【发布时间】:2011-08-10 13:51:09
【问题描述】:

我需要将 pyqt spinbox 中的两位数值分成两半以进行数学运算。为了做到这一点,我将值转换为字符串。这适用于第一个数字,它可以毫无问题地回到整数。然而,第二个数字不会转换回来并继续抛出以 10 为底的无效文字错误。我究竟做错了什么?我将小数位设置为 0,所以我不认为是这样。

         w1 = self.doubleSpinBox_12.value()
         w2 = self.doubleSpinBox_13.value()

         w1a = str(w1)
         w1b = w1a[:1]
         w1c = int( w1b) * 12

         w1b2 = w1a[1:]
         w1b3 = int( w1b2) 



         w = w1c + w1b3
         print w

【问题讨论】:

  • 你能发布异常吗?你确定w12b 的值是你所期望的吗? [1:] 在第一个数字之后得到 everything,也许是 [1:2]?
  • 你有一些示例值吗?
  • 谢谢 j.j.你是对的。我不确定为什么,但将其更改为 [1:2] 有效。

标签: python int pyqt4 string


【解决方案1】:

要了解发生了什么,请在其中添加一些 prints:

w1b2 = w1a[1:]
print(repr(w1b2))

然后您可以确切地看到其中的内容,包括任何不是以 10 为基数的有效文字的字符。

【讨论】:

    猜你喜欢
    • 2017-11-30
    • 1970-01-01
    • 2011-10-08
    • 2010-11-15
    • 2017-01-16
    • 2019-04-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多