当我在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>