我的代码的目的是分隔代码之前和之后的数字。
for x in NumberStr: if x == '.': DigitsBeforeDP = NumberStr[:(x-1)] DigitsAfterDP = NumberStr[(x+1):]
这是我编写的代码,我不知道为什么会出现错误:
Traceback (most recent call last): File "...", line 101, in ConvertToText() File "...", line 97, in ConvertToText DigitsBeforeDP = NumberStr[:(x-1)] TypeError: unsupported operand type(s) for -: 'str' and 'int'
这可能与 NumberStr
存储为字符串有关?
谁能解释一下我做错了什么,并告诉我如何改进我的代码。
最佳答案
您可以使用 str.split()
方法来完成此操作。
before, after = number_str.split('.')
此外,您收到该错误的原因是因为您正在执行 (x-1)
但当时 x
是一个字符串, '.'
,所以你告诉解释器执行 ('.' - 1)
,这就是为什么它告诉你它不支持 -
str
和 int
。
您可能想要 (NumberStr.indexOf(x) - 1)
关于python - 如何在不同的变量中存储小数点之前和之后的数字。 PYTHON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32900119/