缩短Javascript

时间:2016-12-04 00:18:30

标签: javascript function

我正在寻找一种只显示变量的两位小数的方法,我找到了.toFixed()函数,但它舍入了最终数字,我遇到了这个页面Display two decimal places, no rounding,其中一个人说的是这个方法:.toString().match(/^-?\d+(?:\.\d{0,2})?/)[0],效果很好,但是太长了。我试着这样做:

function twoDecimals(i) {
i = Number(i.toString().match(/^-?\d+(?:\.\d{0,2})?/)[0]);
}

.toString()使它成为一个字符串,所以我使用Number()使其返回变量

然后我这样做:

var num = 12.34567;
num.twoDecimals(this);

基本上我想.twoDecimals()等于.toString().match(/^-?\d+(?:\.\d{0,2})?/)[0],如果Number()围绕所有

,我会更好

2 个答案:

答案 0 :(得分:1)

尝试

Number.prototype.twoDecimals = function(arg){
    return arg.toString().match(/^-?\d+(?:\.\d{0,2})?/)
}

这应该为Number类的所有对象提供一个名为twoDecimals的新方法。

答案 1 :(得分:0)

这个怎么样

Number.prototype.twoDecimals = function(){
    return (Number)(this.toString().match(/^-?\d+(?:\.\d{0,2})?/));
}
var num = 12.34567;
console.log(num.twoDecimals()); // Print out 12.34