使用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“。
帮助!
发布于 2011-01-28 06:48:14
如果存在正则表达式,则可以使用正则表达式删除尾随.0:
Number.prototype.safe_toFixed = function (x) {
var that = this.toFixed(x);
return that.replace(/\.0$/, '');
}发布于 2011-07-14 00:31:28
这就是我所做的,而且每次都起作用。
var x= Number(54.03).toFixed(1);
if(Math.floor(x) == x) {
x = Math.floor(x);
}
alert( x );我只是比较这两种类型,看看它们是否匹配。如果是这样的话,我就知道是否会有额外的零。无论哪种方法,我都只是把(ceil)或者向下(地板)集合起来,得到整个数字,没有烦人的十进制和尾随零。
发布于 2011-07-07 06:49:33
您可以使用split()和if条件:
var digit = 1.2
var ret = digit.toFixed(1);
var intValue = ret.split('.');
if(intValue[1] == 0){
digit = intValue[0];
}https://stackoverflow.com/questions/4825585
复制相似问题