当我在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
抱歉,如果我的英语不好。
如何解决?
答案 0 :(得分:0)
将.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>
&#13;