【问题标题】:Remove numbers after decimal in javascript在javascript中删除小数点后的数字
【发布时间】:2016-12-31 04:39:30
【问题描述】:
var randomNumber = (Math.random()*3 + 3.5); randomNumber;

alert(randomNumber)

这段代码返回一个类似的数字

4.589729345235789

我需要它返回

4.5

所以需要它来删除除第一个之外的小数点后的所有数字,谁能告诉我该怎么做?

【问题讨论】:

    标签: javascript


    【解决方案1】:

    您将Number.prototype.toPrecision() 与参数2 一起使用,Number.prototype.toFixed() 与参数1 一起使用。

    +randomNumber.toPrecision(2);
    

    或者,您可以将String.prototype.slice() 与参数03 一起使用

    +String(randomNumber).slice(0, 3);
    

    【讨论】:

      【解决方案2】:

      如果您需要设置数字的小数位数,可以使用toFixed(X),其中 X 是您想要的小数位数。

      例如,

      4.589729345235789.toFixed(1); 将导致4.6

      请记住,这会将数字转换为字符串。

      如果您需要绝对准确度,而 4.6 对您来说还不够好,请参阅 this Stackoverflow post,这是一种更“准确”的方法:

      var with2Decimals = num.toString().match(/^-?\d+(?:\.\d{0,2})?/)[0]

      注意其中的{0,2},这是范围。您可以根据自己的情况将其更改为 {0,1}

      【讨论】:

      • 它将返回 4.6 而不是 4.5
      猜你喜欢
      • 1970-01-01
      • 2021-06-20
      • 2012-09-07
      • 1970-01-01
      • 2019-09-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多