我正在寻找一种只显示变量的两位小数的方法,我找到了.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()
围绕所有
答案 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