修改小数位数,同时保持0

我有一个数字0.6720505101642719,我想将其设为0.6720,而.toFixed(4)返回0.6721并将数字切成字符串不能正常工作

const modifyDecimal = (number,decimalCount) => {
  const parts = number.toString().split('.');
  const limitedDecimal = parts[1].slice(0,decimalCount);

  return Number(`${parts[0]}.${limitedDecimal}`);
}

modifyDecimal(0.6720505101642719,4)
// 0.672 missing the 0 here
laolvye 回答:修改小数位数,同时保持0

使用此:

Math.makeShorter = function(number,decimals) {
        if(decimals < 1) return Math.floor(number).toString();
        var factor =  Math.pow(10,decimals);
        var num = Math.floor(number);
        var fraction = (Math.floor((number - num) * factor) / factor).toString().split('.').pop().toString();
        var digits = fraction.length;
        if(digits < decimals) {
            for(var i = 0; i < (decimals - digits); i++) {
                fraction += '0';
            }
        }
        return num.toString() + '.' + fraction.toString();
}
,

您可以对数字进行分割,然后再从数字后面取4。

const n = 0.6725505101642719;

const [a,b] = n.toString().split(".");

const res = +`${a}.${b.slice(0,4)}`;

console.log(res)


const modifyDecimal = (number,decimalCount) => {
  const [a,b] = number.toString().split('.');
  return +`${a}.${b.slice(0,decimalCount)}`;
}


console.log(modifyDecimal(0.6725505101642719,4))

,

希望这会为您完成。

Dim rs As ADODB.Recordset
Set rs = New ADODB.Recordset
    ConnectDB '<~ recursive call!
    With wsBooks
,
let num = 0.6720505101642719;
(Math.trunc(num*10000)/10000).toFixed(4)
本文链接:https://www.f2er.com/3135817.html

大家都在问