开发者

jquery - toFixed but not toFixed

开发者 https://www.devze.com 2023-02-07 09:33 出处:网络
Using toFixed like follows gives: 开发者_JS百科 var a=0.5, b=1, c=1.5; console.log(a.toFixed(), b.toFixed(), c.toFixed());

Using toFixed like follows gives:

开发者_JS百科
var a=0.5, b=1, c=1.5;
console.log(a.toFixed(), b.toFixed(), c.toFixed());
// 0.5 1.0 1.5

However, when it's a whole number, I only want it to return "1".

Help!


You could use a Regular Expression to remove a trailing .0, if it exists:

Number.prototype.safe_toFixed = function (x) {
    var that = this.toFixed(x);
    return that.replace(/\.0$/, '');
}


This is what I did and it works every time.

var x= Number(54.03).toFixed(1);

  if(Math.floor(x) == x) {
     x = Math.floor(x);
  }

alert( x );

I am just comparing the two types to see if they match. If they do, then I know there may or may not be an extra zero. Either way, I simply round up (ceil) or down (floor) and get the whole number with no annoying decimal and trailing zero.


You could use split() and a if condition:

    var digit = 1.2
    var ret = digit.toFixed(1);
    var intValue = ret.split('.');
    if(intValue[1] == 0){
      digit = intValue[0];
    }
0

精彩评论

暂无评论...
验证码 换一张
取 消