首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >但不是toFixed

但不是toFixed
EN

Stack Overflow用户
提问于 2011-01-28 06:40:31
回答 3查看 3.1K关注 0票数 3

使用toFixed如下所示:

代码语言:javascript
复制
var a=0.5, b=1, c=1.5;
console.log(a.toFixed(), b.toFixed(), c.toFixed());
// 0.5 1.0 1.5

然而,当它是一个整数时,我只希望它返回"1“。

帮助!

EN

回答 3

Stack Overflow用户

发布于 2011-01-28 06:48:14

如果存在正则表达式,则可以使用正则表达式删除尾随.0

代码语言:javascript
复制
Number.prototype.safe_toFixed = function (x) {
    var that = this.toFixed(x);
    return that.replace(/\.0$/, '');
}
票数 2
EN

Stack Overflow用户

发布于 2011-07-14 00:31:28

这就是我所做的,而且每次都起作用。

代码语言:javascript
复制
var x= Number(54.03).toFixed(1);

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

alert( x );

我只是比较这两种类型,看看它们是否匹配。如果是这样的话,我就知道是否会有额外的零。无论哪种方法,我都只是把(ceil)或者向下(地板)集合起来,得到整个数字,没有烦人的十进制和尾随零。

票数 1
EN

Stack Overflow用户

发布于 2011-07-07 06:49:33

您可以使用split()if条件:

代码语言:javascript
复制
    var digit = 1.2
    var ret = digit.toFixed(1);
    var intValue = ret.split('.');
    if(intValue[1] == 0){
      digit = intValue[0];
    }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4825585

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档