python - 如何在不同的变量中存储小数点之前和之后的数字。 PYTHON

标签 python python-3.x

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

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),这就是为什么它告诉你它不支持 - strint

您可能想要 (NumberStr.indexOf(x) - 1)

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

相关文章:

python - 如何修复 'AttributeError: ' list' object has no attribute 'shape' ' 加载模型时使用 Tensorflow/Keras 在 python 中的错误

python - docker-py 库中的 Docker 容器等待/启动时间

python - 使用 python 正则表达式匹配日期

python - 如何从python3中的pandas数据框中选择特定时间范围的列?

Python在Windows上直接获取桌面路径

python - 导入错误 : cannot import name 'webdriver'

python - 默认情况下使用 QTabWidget 防止使用 Ctrl+Tab 进行选项卡循环

python - Poetry 和 Pytest-cov with Sonar : how to reconcile the references?

python - 索博尔随机号生成器 python

python - Cython pyd文件不通过python导入