db_quote_cursor.execute("""select lastince
from `here`
order by `date` desc, `time` desc
limit 1""")
thisout= db_quote_cursor.fetchone()
thisout
是一个浮点值。我需要对它进行计算,但不能将它作为浮点数转换为元组。
!work(pleasework=float(thisout[0]))
我尝试将其转换为列表,但也无效。当我不想/需要循环时,如何直接访问元组中的值?或者别的什么......
以下是我从数据库中获取的内容:
print(this out)
# -> ((Decimal('118'),),)
这就是我得到的错误:
>>> result = float(thisout[0])
Traceback (most recent call last): File "file.1.py", line 56, in <module>
TypeError: float() argument must be a string or a number
答案 0 :(得分:1)
现在您已发布回溯的情况更加清晰。谢谢。
您正在找回Decimal
个对象
事实上,这比浮动更好。
您无需转换它,可能只是开始计算:
thisout[0] += 1 # works fine
但请注意,您无法做到:
thisout[0] += 1.0 # this is a TypeError
在上述情况下,您可以改为:
import decimal as dc
thisout[0] += dc.Decimal('1.0')
答案 1 :(得分:0)
如果结果只是一个1元组,你可以使用thisout [0]以bernie说(并且你的代码显然尝试)来访问它。我猜你在解析浮点数时遇到了不同的错误;发布堆栈跟踪或异常。