You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何对pyodbc查询得到的变量数值四舍五入保留两位小数

解决方案

你可以选择以下任意一种方法实现保留2位小数的需求,两种方案都可以保证自动四舍五入、整数位末尾自动补两位0:

方案1:在后端Views.py中处理(推荐,数据处理逻辑统一放在后端更易维护)

修改Views.py中查询结果的处理逻辑,取出查询返回的数值后先格式化再传递给模板:

creditTotal = ' Select SUM(Credit) FROM [Kyle].[dbo].[PostGL] WHERE Credit <> 0.0'
cursor = cnxn.cursor();
cursor.execute(creditTotal);
xCreditTotal = cursor.fetchone()
# 新增以下代码格式化数值:使用字符串格式化保证固定显示两位小数,自动四舍五入
formatted_credit = "{:.2f}".format(xCreditTotal[0])
# 传递格式化后的数值到模板
return render(request , 'main/Kyletrb.html' , {"xAlls":xAll_l , 'xCreditTotal':[formatted_credit]})

对应的模板代码可以不用循环直接渲染,也可以保留原有循环逻辑。

方案2:在前端Django模板中使用过滤器处理(无需修改后端代码,修改成本更低)

直接修改Html.html中的模板代码,使用Django自带的floatformat过滤器实现保留两位小数:

{% for xCreditTotal in xCreditTotal %}
  <td><b>{{ xCreditTotal|floatformat:2 }}</b></td>
{% endfor %}

floatformat:2会自动对数值做四舍五入处理,且不足两位小数时自动补0,完全符合你的输出要求。

内容的提问来源于stack exchange,提问作者KyleStranger

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 04:15:03