当我在JavaScript中添加两个指数编号时,它们看起来像1e-32e-3而不是3e-3。
这是我的代码:

<!DOCTYPE html>
<html>

<body>
    <div>
        <form> <input id="a" type="tel">
            <p></p> <input id="clickMe" type="button" value="=" onclick="myFun();" />
            <p></p>
            <div>
                <p id="x"></p>
                <p id="y"></p>
            </div>
        </form>
        <script>
            function myFun() {
                var a = document.getElementById("a").value;
                var x = parseFloat(Math.pow(10, -a)).toExponential();
                var y = x + x;
                document.getElementById("x").innerHTML = "x = " + x;
                document.getElementById("y").innerHTML = "x + x = " + y;
            }
        </script>
    </div>
</body>

</html>


如果输入为2.7,则x = 1.995262314968879e-3和x + x = 1.995262314968879e-31.995262314968879e-3

对不起,如果我的英语不好。

如何解决?

最佳答案

将.toExponential()移至数字显示以允许进行计算。



<!DOCTYPE html>

<html>


<body>

<div>

<form>

<input id="a" type="tel">
<p></p>
<input id="clickMe" type="button" value="=" onclick="myFun();"/>
<p></p>

<div>
<p id="x"></p>

<p id="y"></p>
</div>

</form>

<script>

function myFun() {
  var a = document.getElementById("a").value;
  var x = parseFloat(Math.pow(10, -a));
  var y = x + x;

  document.getElementById("x").innerHTML="x = " + x.toExponential();
  document.getElementById("y").innerHTML="x + x = " + y.toExponential();
}

</script>

</div>

</body>
</html>

08-28 08:18