我的代码的目的是在我的代码之前和之后的数字分开。

对于NumberStr中的x:
        如果x =='。':
            DigitsBeforeDP = NumberStr [:( x-1)]
            DigitsAfterDP = NumberStr [(x + 1):]


这是我编写的代码,我不知道为什么会收到错误:

追溯(最近一次通话):
  在第101行的文件“ ...”中
    ConvertToText()
  文件“ ...”,第97行,在ConvertToText中
    DigitsBeforeDP = NumberStr [:( x-1)]
TypeError:-:“ str”和“ int”的不受支持的操作数类型


它可能与NumberStr作为字符串存储的事实有关吗?
谁能解释我做错了什么,并告诉我如何改进我的代码。

最佳答案

您可以使用str.split()方法执行此操作。

before, after = number_str.split('.')


另外,出现此错误的原因是因为您正在执行(x-1),但是此时x是字符串'.',所以您要告诉解释器执行('.' - 1),这就是为什么这样做的原因。告诉您它不支持-strint

您可能打算拥有(NumberStr.indexOf(x) - 1)

关于python - 如何将小数点前后的数字存储在不同的变量中。 python ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32900119/

10-12 21:41