编写limitAndRoundNumber函数实现数字最多5位的四舍五入处理
需求说明
需通过对小数部分执行四舍五入运算,将输入数字限制为最多5位总长度;若数字本身总位数不足5位则保持原值不变。
输入约束:输入数字的取值范围为大于0且小于100000。
实现代码
function limitAndRoundNumber(number) { // 获取整数部分及其长度 const intPart = Math.trunc(number); const intPartLength = String(intPart).length; // 整数部分长度已达到/超过5位,直接返回整数部分 if (intPartLength >= 5) { return intPart; } // 原数字去掉小数点后的总长度不足5位,直接返回原值 const originTotalLength = String(number).replace('.', '').length; if (originTotalLength <= 5) { return number; } // 计算可保留的小数位数,四舍五入后转数字消除末尾无效0 const keepDecimalNum = 5 - intPartLength; return Number(number.toFixed(keepDecimalNum)); }
验证示例
limitAndRoundNumber(1.234) // 返回 1.234,总位数不足5位保持不变 limitAndRoundNumber(1.234567) // 返回 1.2346 limitAndRoundNumber(12.34567) // 返回 12.346 limitAndRoundNumber(123.4567) // 返回 123.46 limitAndRoundNumber(1234.567) // 返回 1234.6 limitAndRoundNumber(12345) // 返回 12345
内容的提问来源于stack exchange,提问作者Lukas
相关产品推荐
相关产品推荐

