向下舍入小数位 Javascript



我需要向下舍入许多小数位,基本上是四舍五入,但据说在现场向下舍入。例

take the number, 1.087179939485353505
but to the fifth place, with roundTo of 6
roundTo(1.087179939485353505, 6) is 1.08718

我需要 1.08717而不是 1.08718 在 javascript 中。

var Variable = roundTo(Variable / 1000000000000000000, 6);

已解决似乎没有向下舍入的本机 JavaScript 十进制舍入函数。有两个选项之一可用。

  1. 转换为字符串并以这种方式操作数据(最有意义(。

  2. 利用一个数字并乘以,地板然后再次重新除以您的数字

如何转换为字符串,切片并转换回数字。

const roundTo = num => Number(String(num).slice(0, 7));
console.log(roundTo(1.087179939485353505));

您可以使用正则表达式来获取 5 位小数

function roundTo(number) {
var result= number.toString().match(/^d+(.d{0,5})/)[0];
console.log(result);
}
roundTo(1.087179939485353505);

var Variable = Variable / 1000000000000000000;
Variable *= 1000000;
Variable = Math.floor(Variable);
Variable /= 1000000;
var Variable = roundTo(Variable, 6);

我取了我的小数,乘以我想四舍五入的位数,数学地板用于绝对低四舍五入,并再次除以,最后使用 roundTo 获得精确的小数位。似乎是唯一的办法。

最新更新