使用如下所示的toFixed:
var a=0.5, b=1, c=1.5;
console.log(a.toFixed(), b.toFixed(), c.toFixed());
// 0.5 1.0 1.5
然而,当它是一个整数时,我只想让它返回"1"。
帮忙!
使用如下所示的toFixed:
var a=0.5, b=1, c=1.5;
console.log(a.toFixed(), b.toFixed(), c.toFixed());
// 0.5 1.0 1.5
.0
(如果存在):Number.prototype.safe_toFixed = function (x) {
var that = this.toFixed(x);
return that.replace(/\.0$/, '');
}
Number
原型吗?那可能会影响页面上的其他脚本! - sdleihssirhc这就是我做的,每次都能正常工作。
var x= Number(54.03).toFixed(1);
if(Math.floor(x) == x) {
x = Math.floor(x);
}
alert( x );
我只是在比较这两种类型,看它们是否匹配。如果匹配,那么我知道可能有一个额外的零或者没有。无论哪种情况,我都可以简单地向上取整(ceil)或向下取整(floor),获取整数,而不会有令人讨厌的小数和尾随的零。
split()
函数和一个 if
条件: var digit = 1.2
var ret = digit.toFixed(1);
var intValue = ret.split('.');
if(intValue[1] == 0){
digit = intValue[0];
}