【发布时间】:2020-10-20 07:52:16
【问题描述】:
我的 mysql 查询是多个连接 cursor.fetchall() 给出下面的输出
[('Books', Decimal('10.000'), Decimal('0E-20'), None), ('Pencil', Decimal('66.66666'), Decimal('0E-20'), None), ('Pen', Decimal('100.0000'), Decimal('0E-20'), None)]
如何转换成以下格式
- 四舍五入到小数点后两位
- None 必须替换为 0
预计结束
[('Books', '10.00', '0.00', 0), ('Pencil', '66.67','0.00', 0), ('Pen', '100.00', '0.00', 0)]
【问题讨论】:
-
您的(四舍五入)输出既有字符串又有浮点数。后者不应四舍五入,因为它们并不总是被认为是精确的。您是否希望四舍五入的数字改为 Decimal 类型?
-
基本上我需要对所有整数和字符串进行四舍五入,如果它是数字并将None替换为0
-
使用
for-loop 改变列表中的数据。 -
对于将 None 替换为 0,您可以在数据库上添加约束以将字段的默认值设置为 0 并添加 not null 约束,这将确保您在查询结果时没有得到 None .
标签: python