как я могу сделать значение поля на одну сотую того, что фактически введено? - PullRequest
0 голосов
/ 10 февраля 2020

В настоящее время, когда вы нажимаете кнопку отправки, число в первом поле умножается на число во втором поле.

Мне нужно получить число во втором поле. поле для вычисления как 1/100 от того, что вводит пользователь.

Например, если вы должны были ввести 1000 в первом поле и 6 во втором поле, тогда вычисление будет выполнено как 1000 * 0,06 вместо 1000 * 6, в результате 60 вместо 6000.

Я спрашиваю, потому что простой ввод 0,0X во втором поле приводит к тому, что ответ равен нулю, что, очевидно, неверно.

Кроме того, я понятия не имею, что мне нужно написать, чтобы заставить его работать. Что я могу добавить / изменить в моем JavaScript?

const submitButton = document.getElementById('submitButton');

submitButton.addEventListener('click', () => {
    const numberOne = document.getElementById('numberOne').value;
    const numberTwo = document.getElementById('numberTwo').value;
    const mathSolution = parseInt(numberOne) * parseInt(numberTwo);
    
    alert("The solution is... " + mathSolution);

}); 
<h2>Enter a number</h2>
<input type="number" id="numberOne">
                                                
<h2>Enter another number</h2>
<input type="number" id="numberTwo">

<button type="submit" id="submitButton">Calculate</button>

Ответы [ 3 ]

1 голос
/ 10 февраля 2020

если вы ныряете 6 на 100, вы получаете 0,06, если анализируете, что получаете 0. Но хорошая новость в том, что вам не нужны целые числа!

const submitButton = document.getElementById('submitButton');

submitButton.addEventListener('click', () => {
    const numberOne = document.getElementById('numberOne').value;
    const numberTwo = document.getElementById('numberTwo').value / 100;
    const mathSolution = numberOne * numberTwo;
    
    alert("The solution is... " + mathSolution);

});
<h2>Enter a number</h2>
<input type="number" id="numberOne">
                                                
<h2>Enter another number</h2>
<input type="number" id="numberTwo">

<button type="submit" id="submitButton">Calculate</button>
0 голосов
/ 10 февраля 2020

Поскольку @DCR уже ответил на этот вопрос, вы также можете использовать однострочник, подобный этому:

document.getElementById('submitButton').addEventListener('click',()=>alert("The solution is... "+document.getElementById('numberTwo').value*(document.getElementById('numberOne').value)/100));
<h2>Enter a number</h2>
<input type="number" id="numberOne">      
                                     
<h2>Enter another number</h2>
<input type="number" id="numberTwo">

<button type="submit" id="submitButton">Calculate</button>
0 голосов
/ 10 февраля 2020

Измените строку: const mathSolution = parseInt(numberOne) * parseInt(numberTwo); на const mathSolution = parseFloat(numberOne) * parseFloat(numberTwo); В противном случае вы работаете только с целыми числами, а 0.x заканчивается как 0.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...