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

MySQL如何四舍五入保留4位小数?如何将237.704918转为237.71?

MySQL数值四舍五入问题解决方案

1. 四舍五入保留4位小数

直接使用MySQL内置的ROUND函数即可,第二个参数传入要保留的小数位数:

-- 语法:ROUND(待处理数值, 保留小数位数)
SELECT ROUND(237.704918, 4);

以上语句运行结果为237.7049,符合保留4位小数的四舍五入要求。

2. 如何将237.704918处理为237.71

首先需要明确标准ROUND函数的计算逻辑:四舍五入到N位小数时,仅判断第N+1位的数值是否≥5,不会累计后面的位数进位。
你要保留2位小数时,237.704918的第3位小数是4,小于5,所以直接舍去后面所有位数,得到237.70,你看到的237.7是输出时末尾无意义的0被自动省略导致的,属于正常现象。

如果业务需要得到237.71的结果,可以选择符合你需求的两种实现方式:

  • 方式一:向上取整到2位小数,只要第2位小数后有非0数值就进位
SELECT CEIL(237.704918 * 100) / 100;

运行结果为237.71

  • 方式二:先保留3位小数四舍五入,再对结果保留2位小数四舍五入
SELECT ROUND(ROUND(237.704918, 3), 2);

计算逻辑为先将237.704918保留3位得到237.705,再对237.705做2位小数四舍五入,第3位为5进位,最终得到237.71

补充提示

如果需要固定展示指定小数位数,避免末尾0被省略,可以搭配FORMAT函数使用,返回格式化后的字符串:

-- 固定展示2位小数
SELECT FORMAT(ROUND(237.704918, 2), 2);

返回结果为字符串类型的237.70

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 20:15:02