如何将十进制值转换为单个数字

时间:2018-04-02 07:50:59

标签: javascript

这是我的问题

我想将0.21转换为0.29到2

然后

0.31至0.39至3至0.99至9

等一个

我去了这个功能,但它没有帮助

function myFunction() {
    var num = 0.89;
    var n = num.toFixed(1);
    document.getElementById("demo").innerHTML = n +1;
}

4 个答案:

答案 0 :(得分:1)

尝试使用以下内容:

function myFunction(num) {
  document.getElementById("demo").innerHTML = Math.floor(num*10);
}

答案 1 :(得分:0)

实现目标的最简单方法是:



var num = 0.89;
var n = Math.floor(num * 10) % 10;
document.getElementById("demo").innerHTML = n;

<div id="demo"></div>
&#13;
&#13;
&#13;

不使用任何数学函数。因为你每次都想要0.XYZ的X.

答案 2 :(得分:0)

你可以使用因子制作地板。

function format(v) {
    var d = Math.floor(Math.log10(v));
    return Math.floor(v / Math.pow(10, d));
}

console.log([0.2, 0.89, 0.023, 5432].map(format));

答案 3 :(得分:-1)

var integer_value = Math.floor(num*10); // gives required integer value

<强>解释

如果你的数字是0.ABC,你想要A,你可以通过将0.ABC乘以10来实现这一点,这使得A.BC然后在A.BC上使用Math.floor来获得A. / p>

<强>例:

当0.ABC:

  • 0.012 - &gt; Math.floor(0.12)---&gt; 0
  • 0.213 - &gt; Math.floor(2.13)---&gt; 2
  • 0.290 - &gt; Math.floor(2.90)---&gt; 2
  • 0.988 - &gt; Math.floor(9.88)---&gt; 9

<强> toFixed(0)

toFixed(sig_digits)将为您提供该数字的字符串表示形式,直到达到一定数量的有效数字。使用sig_digits 0,将其四舍五入,因此像8.99这样的情况将四舍五入为9而不是8。