python - 类型错误:+ 不支持的操作数类型: 'decimal' 和 'float'

标签 python mysql decimal typeerror mysql-python

我正在使用 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/

相关文章:

php - 我可以同时使用 Ajax、JS、HTML、PHP 和 MySQL 吗?

java - 要求输出始终采用小数点右侧 2 位、左侧 7 位格式

python - 可能的子字符串列表,其中字母按字母顺序排列。递归地

php - MySQL - 存储货币符号的最佳方式?

mysql - 如何根据 sales_order_id 汇总所有价格(MySQL)

javascript - Javascript 中格式化小数位的问题

mysql - 在mysql的单个列中使用整数和小数

python - 如何将路径转换为 ​​Mac OS X 路径,几乎是 NFD 范式?

python - fnmatch 未找到 "&"字符

python - 使用 lxml 删除 xml 节点