From 038ab646b7f36c719ad8e7e7a88da4a2b8280920 Mon Sep 17 00:00:00 2001 From: chensiAb <chenchenco03@163.com> Date: Fri, 29 Nov 2024 17:05:04 +0800 Subject: [PATCH] feat:tools函数-添加精确保留小数方法 --- common/Tools.js | 26 ++++++++++++++++++++++++++ 1 files changed, 26 insertions(+), 0 deletions(-) diff --git a/common/Tools.js b/common/Tools.js index 9d692ac..4c0ff6d 100644 --- a/common/Tools.js +++ b/common/Tools.js @@ -652,6 +652,32 @@ } }; } + /** + * 精确保留小数点几位数, 自动补零, 四舍五入 + * 修复 toFixed 四舍六入五讨论的问题 + * @param {Number|String} num 数值 + * @param {Number} [digit=0] 小数点后位数 + * @returns {String|NaN} + */ + static accFixed(num, digit = 0) { + const number = parseFloat(num); + if (isNaN(number)) { + return NaN; + } + if (number >= 0) { + return ( + Math.round((number + Number.EPSILON) * Math.pow(10, digit)) / Math.pow(10, digit) + ).toFixed(digit); + } else { + return ( + '-' + + ( + Math.round((Math.abs(number) + Number.EPSILON) * Math.pow(10, digit)) / + Math.pow(10, digit) + ).toFixed(digit) + ); + } + } } // h5 中,实现 rem 转换 px -- Gitblit v1.9.1