Javascript 如何从输入字段使用.toFixed()
我似乎不明白为什么我不能让Javascript 如何从输入字段使用.toFixed(),javascript,Javascript,我似乎不明白为什么我不能让.toFixed()在我的代码中工作。我尝试过不同的变化,但缺少一些东西 我在运行代码时遇到以下错误 未捕获的TypeError:document.getElementById(…).value.toFixed不是 函数 我的代码: <input type="number" id="num1"> <p>+</p> <input type="number" id="num2"> <p>=</p> &l
.toFixed()
在我的代码中工作。我尝试过不同的变化,但缺少一些东西
我在运行代码时遇到以下错误
未捕获的TypeError:document.getElementById(…).value.toFixed不是
函数
我的代码:
<input type="number" id="num1">
<p>+</p>
<input type="number" id="num2">
<p>=</p>
<p id="result"></p>
<br>
<button id="submit" onclick="calculate()">Calculate</button>
<script>
function calculate(){
const a = document.getElementById("num1").value;
const b = document.getElementById("num2").value;
let finalAnswer = a.toFixed(2) + b.toFixed(2);
document.getElementById("result").innerHTML = finalAnswer;
console.log(a);
}
</script>
+
=
算计
函数计算(){
常量a=document.getElementById(“num1”).value;
常量b=document.getElementById(“num2”).value;
设finalAnswer=a.toFixed(2)+b.toFixed(2);
document.getElementById(“结果”).innerHTML=finalAnswer;
控制台日志(a);
}
.toFixed()是一种数字方法。当您从输入中获取值时,它是一个字符串。因此,您必须将其转换为数字。
您可以使用以下命令转换为数字:
Number()
因此,您的代码应该如下所示:
常量a=数字(document.getElementById(“num1”).value);常量b=编号(document.getElementById(“num2”).value)
这是因为您的输入将作为字符串而不是数字进行计算,这是我解决它的多种方法之一:
const a = document.getElementById("num1").value - 0;
const b = document.getElementById("num2").value - 0;
toFixed
是在Number
中定义的,因此在使用之前必须先将输入值转换为数字
为此,您可以使用Number
构造函数传递要转换的文本:
let myNumber = Number(someString);
之后,您可以使用toFixed()
输出结果,该结果将为您提供一个字符串
,其小数点后的数字与您传递给它的数字相同:
console.log(myNumber.toFixed(2));
考虑到所有这些因素,您可以将代码更改为:
函数计算(){
常量a=document.getElementById(“num1”).value;
常量b=document.getElementById(“num2”).value;
//在添加之前,将两个输入转换为数字
设finalAnswer=数(a)+数(b);
//toFixed仅在需要输出时在此处固定
document.getElementById(“结果”).innerHTML=finalAnswer.toFixed(2);
控制台日志(a);
}
+
=
Calculate
toFixed是一个数字,但是当您获得输入值时,它将是一个字符串。试着先转换成一个数字。