Здравствуйте, кодеры, пожалуйста, дайте мне знать, где я ошибся и почему метод toFixed () не работает. Я изучаю javascript в первый раз, поэтому у меня нет особого представления об этом. Пожалуйста, помогите мне.

{amp}lt;!DOCTYPE html{amp}gt; {amp}lt;html{amp}gt; {amp}lt;body{amp}gt; {amp}lt;input id="numb"{amp}gt; {amp}lt;button type="button" onclick="myFunction()"{amp}gt;Submit{amp}lt;/button{amp}gt; {amp}lt;p id="demo"{amp}gt;{amp}lt;/p{amp}gt; {amp}lt;script{amp}gt; function myFunction() { var x, y; x = document.getElementById('numb').value; document.getElementById('demo').innerHTML=x.toFixed(3); } {amp}lt;/script{amp}gt; {amp}lt;/body{amp}gt; {amp}lt;/html{amp}gt; //***Here toFixed() Method not working*** 

Хорошо, перед использованием toFixed () вы должны преобразовать номер строки в float.

  function myFunction() { var x, y; x = document.getElementById('numb').value; document.getElementById('demo').innerHTML= parseFloat(x).toFixed(2); } 
  {amp}lt;input id="numb"{amp}gt; {amp}lt;button type="button" onclick="myFunction()"{amp}gt;Submit{amp}lt;/button{amp}gt; {amp}lt;p id="demo"{amp}gt;hui{amp}lt;/p{amp}gt; 

преобразовать строку в int

 x = document.getElementById('numb').value; 

в

 x = parseInt(document.getElementById('numb').value); 

Ваш x не является числом, и вы не можете использовать функцию toFixed. Вам нужно сначала преобразовать x в число. Для этого, пожалуйста, используйте что-то из этого кода

 x =  document.getElementById('numb').value; x =  x; x = parseInt(x); 

Вам нужно исправить две вещи:

  1. Сделайте тип ввода как number
  2. используйте parseFloat(x) перед применением toFixed() .
 function myFunction() { var x, y; x = document.getElementById('numb').value; debugger document.getElementById('demo').innerHTML = parseFloat(x).toFixed(3); } 
 {amp}lt;input id="numb" type="number"{amp}gt; {amp}lt;button type="button" onclick="myFunction()"{amp}gt;Submit{amp}lt;/button{amp}gt; {amp}lt;p id="demo"{amp}gt;{amp}lt;/p{amp}gt; 

x здесь не числовой объект. Вот почему JS не находит метод, прикрепленный к нему.

Вы можете прочитать об этом здесь: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/toFixed

 {amp}lt;!DOCTYPE html{amp}gt; {amp}lt;html{amp}gt; {amp}lt;body{amp}gt; {amp}lt;input id="numb"{amp}gt; {amp}lt;button type="button" onclick="myFunction()"{amp}gt;Submit{amp}lt;/button{amp}gt; {amp}lt;p id="demo"{amp}gt;{amp}lt;/p{amp}gt; {amp}lt;script{amp}gt; function myFunction() { var x, y; x = document.getElementById('numb').value; document.getElementById('demo').innerHTML= Number.parseFloat(x).toFixed(2); } {amp}lt;/script{amp}gt; {amp}lt;/body{amp}gt; {amp}lt;/html{amp}gt; 

Чтобы понять проблему, нужно проверить тип переменной x

console.log(typeof x)

Вы узнаете его строку. Пока toFixed () работает только для типов Number. Поэтому вам нужно преобразовать строку x в «Number Type», используя parseInt (x) или parseFloat (x), непосредственно перед использованием toFixed ().

 function myFunction() { var x, y; x = document.getElementById('numb').value; document.getElementById('demo').innerHTML = parseFloat(x).toFixed(3); }