如何修剪成3个小数位,然后使用javascript将其四舍五入

时间:2015-04-19 20:58:55

标签: javascript

我想将一个数字修剪成3位小数,然后将它舍入2位小数。

例如:

1.234567

Trim it to 1.234

Then round it = 1.23

另一个例子:

1.389999

Trim it to 1.389

Then round it: 1.39

我尝试使用toFixed()函数,但它会自动舍入它。

提前致谢。

2 个答案:

答案 0 :(得分:0)

使用Math.floor method修剪它,然后使用Math.round method将其修剪:

var n = 1.23456;
n = Math.round(Math.floor(n * 1000) / 10) / 100;

答案 1 :(得分:0)

您可以将数字乘以10的幂,使用适当的数学方法,然后除以相同的因子。

对于四舍五入,有Math.round

function myRound(num, decimals) {
    var factor = Math.pow(10, decimals);
    return Math.round(num * factor) / factor;
}

对于截断,ECMAScript 6引入了Math.trunc。对于旧浏览器,它可以是polyfilled,或者假设数字为正,您可以使用Math.floor

function myTruncate(num, decimals) {
    var factor = Math.pow(10, decimals);
    return Math.trunc(num * factor) / factor;
}

一样使用它们
myTruncate(1.234567, 3); // 1.234
myTruncate(1.389999, 3); // 1.389
myRound(1.234567, 2); // 1.23
myRound(1.389999, 2); // 1.39