固定精度始终在js 0.5-> 0.5000中

时间:2018-08-19 13:29:03

标签: javascript node.js fractions

我正在尝试将每个小数固定为n个小数位。但是在javascript / nodejs中,似乎无法将0.5转换为0.5000。由于这些原因,我预期0.5000的测试用例会失败。

任何想法如何在nodejs / javascript中做到这一点?

2 个答案:

答案 0 :(得分:1)

正如其他人所说,Number.prototype.toFixed()应该为您工作。我试了一下,这个效果很好。

function plusMinus(arr) {
let length = arr.length;
let o = arr.reduce((acc,cv)=>{
    if(cv > 0){
        acc.pos++;  
     }
    else if(cv<0){
        acc.neg++;
    }
    else{
        acc.zero++;
    }
    return acc;
},{pos:0,neg:0,zero:0});
    console.log((o.pos/length).toFixed(4));
    console.log((o.neg/length).toFixed(4));
    console.log((o.zero/length).toFixed(4));
}
plusMinus([-4,3,-9,0,4,1]);

答案 1 :(得分:0)

使用number原型方法toFixed

var num = 5.0;
var n = num.toFixed(4);
console.log(n) //output: 5.000