我正在使用 Python 2.7 和 MySQLdb。我在这段代码上收到此错误:
Value = 5
x.execute("SELECT number from Testing where id ='%s';" % Value)
data = x.fetchall()
print (data)
data = data[0][0]
data = data + 0.5
x.execute(""" UPDATE Testing SET number = %s WHERE id = %s """, (data, Value))
conn.commit()
错误发生在行:data = data + 0.5
。
TypeError: + 不支持的操作数类型:'decimal' 和 'float'。
数字是 DECIMAL(8,1)
。我已经看到了这个错误的其他问题,但没有添加。另外,我认为有些人如果是 Python 新手,无法理解类似问题的更高级 Python 编码,也会遇到同样的问题。请你帮助我好吗?提前致谢。
最佳答案
似乎不支持该操作,您必须先构造一个Decimal
对象并添加:
In [132]:
import decimal
d = decimal.Decimal(23.0)
d = d + decimal.Decimal(0.5)
d
Out[132]:
Decimal('23.5')
关于python - 类型错误:+ 不支持的操作数类型: 'decimal' 和 'float',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30396311/