首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Javascript toFixed函数

Javascript toFixed函数
EN

Stack Overflow用户
提问于 2009-09-08 10:57:41
回答 6查看 10.4K关注 0票数 8

我有一个关于toFixed()函数的问题。如果我有浮点数,例如- 3.123123423和。如何使用toFixed(2)将其输出到输入框,以便输入框值为3.12和。我的意思是,如果值是整数,我希望输出它而不尾随.00 :)

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2009-09-08 11:13:36

由于在JavaScript中整数和浮点数没有区别,下面是我快速的‘n’脏方法:

代码语言:javascript
复制
theNumber.toFixed(2).replace(".00", "");

或者一些普通的东西:

代码语言:javascript
复制
myToFixed = function (n, digits) {
    digits = digits || 0;
    return n.toFixed(digits).replace(new RegExp("\\.0{" + digits + "}"), "");
}

myToFixed(32.1212, 2) --> "32.12"
myToFixed(32.1212, 0) --> "32"
myToFixed(32, 2) --> "32"
myToFixed(32.1, 2) --> "32.10"
票数 11
EN

Stack Overflow用户

发布于 2009-09-08 11:45:54

您不需要Math.round():

代码语言:javascript
复制
var toFixed = function(val, n) {
  var result = val.toFixed(n);
  if (result == val)
    return val.toString();
  return result;
}

toFixed(3.123, 2) --> "3.12"
toFixed(3, 2) --> "3"
票数 5
EN

Stack Overflow用户

发布于 2009-09-08 11:37:18

代码语言:javascript
复制
function toFixed0d(x, d)
{
    if(Math.round(x) == x)
    {
        return x.toString();
    }else
    {
        return x.toFixed(d);
    }
}

toFixed0d(3.123123423, 2) = "3.12"
toFixed0d(0, 2) = "0"
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1393332

复制
相关文章

相似问题

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