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

JavaScript/jQuery不四舍五入保留1位小数精确显示的实现问题

JavaScript无四舍五入保留1位小数实现方案

你之前使用的toFixed、toPrecision以及Math.round相关实现默认都会执行四舍五入逻辑,要实现无进位截断保留小数,可使用以下两种方案:


方法1:数字运算实现(性能最优)

使用Math.trunc()直接截断数字的小数部分,不会触发四舍五入逻辑,兼容现代浏览器:

var result = 6.853571428571428;
// 保留1位小数,直接截断
var formatResult = Math.trunc(result * 10) / 10;
$("#id").html(formatResult); // 输出结果为6.8

如果需要兼容IE等老旧浏览器,可以用parseInt替代Math.trunc:

var formatResult = parseInt(result * 10) / 10;

该方案同时支持正数、负数场景的截断,例如-6.8535处理后会得到-6.8。


方法2:字符串切割实现(规避浮点数精度问题)

如果担心浮点数运算带来的精度误差,可以转为字符串后按小数点分割截取:

var result = 6.853571428571428;
var numStrArr = result.toString().split('.');
var formatResult = numStrArr.length > 1 ? `${numStrArr[0]}.${numStrArr[1].slice(0,1)}` : numStrArr[0];
$("#id").html(formatResult); // 输出结果为6.8

该方案完全避开浮点数运算逻辑,适合对精度要求极高的业务场景。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.15 04:12:08