Разделить ввод текстового поля на заданный номер, показать результат - PullRequest
1 голос
/ 05 апреля 2020

У меня есть текстовое поле, которое мне нужно разделить на определенные входные данные. Я пытался использовать код ниже, но я сталкиваюсь с проблемами. Он не учитывает десятичную точку для учета и возвращает 0, если вы используете десятичную дробь.

<input id="number" type="text"> ÷ 3.181818<br />
Your output is: <div id="output"></div>

<script type="text/javascript">
//obtain reference to number html element
var number = document.getElementById('number');

//obtain reference to output html element
var output = document.getElementById('output');

//what you want to divide to
var division = '3.181818'; // can't be 0, or the world will explode

//add an eventlistener to the change event on the number element
number.addEventListener('keyup', function(e) {

  //get the value from the input
  var val = parseFloat(number.value);

  //check if it is a nan
  if(!isNaN(val)) {

     //round it to 0 digits
     output.innerHTML = (val / division).toFixed(0) + "";
  } else {
     output.innerHTML = 'that\'s not a number!';
  }
});
</script>

Так, например, если кто-то вводит свою чувствительность в текстовое поле как 1.2, тогда сделайте 1.2 / 3.181818 = 0.37714287869

0.37714287869 их новой чувствительностью.

1 Ответ

2 голосов
/ 05 апреля 2020

Удалите toFixed и установите div как число с плавающей запятой 3.181818:

//obtain reference to number html element
var number = document.getElementById('number');

//obtain reference to output html element
var output = document.getElementById('output');

//what you want to divide to
var division = 3.181818; // can't be 0, or the world will explode

//add an eventlistener to the change event on the number element
number.addEventListener('keyup', function(e) {

  //get the value from the input
  var val = parseFloat(number.value);

  //check if it is a nan
  if (!isNaN(val)) {

    output.innerHTML = val / division;
  } else {
    output.innerHTML = 'that\'s not a number!';
  }
});
<input id="number" type="text"> ÷ 3.181818<br /> Your output is:
<div id="output"></div>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...