【问题标题】:Split a string from followed character \r从后面的字符 \r 中拆分字符串
【发布时间】:2017-05-15 23:52:50
【问题描述】:

7 在 Windows 7 上,我得到一个 ValueError: invalid literal for int() with base 10

发生的事情是,我的输出 Power==0.00\r,(\r 是隐藏的,所以从输出中我实际上看不到它。我从以下错误中意识到)类型字符串。

我想将 0 值提取为整数,因此我将 Power 转换为 int(Power),然后出现错误 ValueError: invalid literal for int() with base 10: '0.00\r'。

有没有办法将 '0.00' 与 '\r' 分开?

【问题讨论】:

  • 尝试使用Power = Power.strip('\r'),然后将其转换为int
  • 感谢@Antimony 的回复,我试了一下,还是一样的错误。

标签: python python-2.7


【解决方案1】:

您的问题与'\r' 无关。您正在尝试将字符串文字 "0.00\r" 转换为整数,但文字表示的数字不是整数:它是浮点数。首先,将字符串转换为浮点数。然后,将该数字转换为整数:

int(float(Power))
# 0

【讨论】:

  • 只是为了确认,所以你的意思是不能直接将String转换为Int?
  • 不是这种字符串。但是"0\r"可以。
  • 所以字符串(数字后跟 \n、\r 等字符)无法转换为 int,对吗?
  • 正如我所说,这与'\r' 无关。大约是'.'时期。
  • 我明白了,所以格式为'##.##'的字符串不能直接转换为int,对吗?
猜你喜欢
  • 2014-07-31
  • 1970-01-01
  • 2023-04-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-12-01
相关资源
最近更新 更多