您好,编码人员请让我知道我哪里出错了以及为什么toFixed()方法不起作用。我是第一次学习javascript,所以我对此并不了解。请豆豆一个帮我。
<!DOCTYPE html>
<html>
<body>
<input id="numb">
<button type="button" onclick="myFunction()">Submit</button>
<p id="demo"></p>
<script>
function myFunction() {
var x, y;
x = document.getElementById('numb').value;
document.getElementById('demo').innerHTML=x.toFixed(3);
}
</script>
</body>
</html>
//***Here toFixed() Method not working***
答案 0 :(得分:2)
好吧,在使用toFixed()之前,您必须将字符串号转换为浮点型
function myFunction() {
var x, y;
x = document.getElementById('numb').value;
document.getElementById('demo').innerHTML= parseFloat(x).toFixed(2);
}
<input id="numb">
<button type="button" onclick="myFunction()">Submit</button>
<p id="demo">hui</p>
答案 1 :(得分:1)
将字符串转换为int
x = document.getElementById('numb').value;
到
x = parseInt(document.getElementById('numb').value);
答案 2 :(得分:1)
您的x不是数字,因此无法使用固定功能。 您需要先将x转换为数字。为此,请使用以下代码
x = +document.getElementById('numb').value;
x = +x;
x = parseInt(x);
答案 3 :(得分:0)
您需要更正两件事:
number
parseFloat(x)
方法之前,先使用toFixed()
。
function myFunction() {
var x, y;
x = document.getElementById('numb').value;
debugger
document.getElementById('demo').innerHTML = parseFloat(x).toFixed(3);
}
<input id="numb" type="number">
<button type="button" onclick="myFunction()">Submit</button>
<p id="demo"></p>
答案 4 :(得分:0)
x
在这里不是数字对象。这就是为什么JS找不到附加的方法。
您可以在此处进一步阅读:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/toFixed
<!DOCTYPE html>
<html>
<body>
<input id="numb">
<button type="button" onclick="myFunction()">Submit</button>
<p id="demo"></p>
<script>
function myFunction() {
var x, y;
x = document.getElementById('numb').value;
document.getElementById('demo').innerHTML= Number.parseFloat(x).toFixed(2);
}
</script>
</body>
</html>
答案 5 :(得分:0)
要了解该问题,您需要检查什么是变量x类型
console.log(typeof x)
您将找到它的字符串。而toFixed()仅适用于Number类型。因此,在使用toFixed()之前,您需要使用parseInt(x)或parseFloat(x)将x字符串转换为“数字类型”。
function myFunction() {
var x, y;
x = document.getElementById('numb').value;
document.getElementById('demo').innerHTML = parseFloat(x).toFixed(3);
}