@ cr05s19xx предложил по дублирующему вопросу:
JavaScript немного смешной, когда дело доходит до чисел и сложений.
Предоставление следующего
'20 '-'30 '= 10;// возвращает 10 как число '20' + '30' = '2030';// Возвращает их в виде строки. Значения, возвращаемые из document.getElementById, являются строками, поэтому лучше проанализировать их все (даже те, которые работают) для нумерации, прежде чем продолжить сложение или вычитание.Ваш код может быть:
function myFunction() {
var per = parseInt(document.getElementById('input1').value);
var num = parseInt(document.getElementById('input2').value);
var sum = (num / 100) * per;
var output = num - sum;
console.log(output);
document.getElementById('demo').innerHTML = output;
}
function myFunction2() {
var per = parseInt(document.getElementById('input3').value);
var num = parseInt(document.getElementById('input4').value);
var sum = (num / 100) * per;
var output = sum + num;
console.log(output);
document.getElementById('demo1').innerHTML = output;
}