javascript - 如何在javascript中舍入小数

标签 javascript rounding floor

我有这个十进制数:1.12346

我现在只想保留 4 位小数,但我想向下舍入以便返回:1.1234。现在它返回:1.1235,这是错误的。

有效。我想要最后 2 个数字:“46”向下舍入为“4”而不是向上舍入为“5”

这怎么可能?

    var nums = 1.12346;
    nums = MathRound(nums, 4);
    console.log(nums);

function MathRound(num, nrdecimals) {
    return num.toFixed(nrdecimals);
}

最佳答案

这与 How to round down number 2 decimal places? 是同一个问题.您只需对额外的小数位进行调整。

Math.floor(1.12346 * 10000) / 10000

console.log(Math.floor(1.12346 * 10000) / 10000);

如果你想把它作为一个可重用的函数,你可以这样做:

function MathRound (number, digits) {
  var adjust = Math.pow(10, digits); // or 10 ** digits if you don't need to target IE
  return Math.floor(number * adjust) / adjust;
}

console.log(MathRound(1.12346, 4));

关于javascript - 如何在javascript中舍入小数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55388282/

相关文章:

javascript - Java FX 从 Webview 中的网页元素获取响应

c - 是否可以仅使用 printf 语句来舍入 double?

java - 有人能解释一下舍入误差是什么意思吗?

c# - C# 中的舍入函数

dart - 为什么 floor() 在 Dart 中四舍五入?

Javascript jQuery 插件渲染问题

javascript - 如何在magento中添加Html5轮播?

javascript - 如何根据路由更改快速静态路径?

Java - 误解 ceil 和 Floor 方法

C整数除法和底