本文介绍了Javascript 的 toFixed 函数中的问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我发现 toFixed(2) 有一个最大的问题,即如果我写 5.555 那么它会显示 5.55,如果我写 5.565 那么它会显示 5.57.我该怎么办?

I find a biggest problem with toFixed(2) i.e. if i write 5.555 then it will display 5.55 and if I write 5.565 then it will display 5.57. What should I do?

这就是我正在做的.声明一个数组并修复第一个数组的所有值并放入第二个数组.

This is what i am doing. Declaring one array and toFixed all values of first array and put in second array.

var arr1 = [25.205,25.215,25.225,25.235,25.245,25.255,25.265,25.275,25.285,25.295]

var arr2 = []

for(i=0;i<10;i++){ arr2[i]= +arr1[i].toFixed(2) }

结果:

arr1 = [25.205, 25.215, 25.225, 25.235, 25.245, 25.255, 25.265, 25.275, 25.285, 25.295]

arr2 = [25.2, 25.21, 25.23, 25.23, 25.25, 25.25, 25.27, 25.27, 25.29, 25.3]

我是否应该为此使用 Math 对象的 Math.floor() 方法.

should i have to use the Math.floor() method of the Math object for this.

Math.floor(number*100)/100

推荐答案

我已经创建了一个为我完成所有工作的函数..

I have create a function which done all for me..

function toFixed(number, precision) {
    var multiplier = Math.pow(10, precision + 1),
        wholeNumber = Math.floor(number * multiplier);
    return Math.round(wholeNumber / 10) * 10 / multiplier;
}

//Call this function to retrive exect value
toFixed((+adjustmentval), 2);

这篇关于Javascript 的 toFixed 函数中的问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-28 10:29