计算 javascript 中的百分比

calculating percent in javascript

我正在尝试添加乘法结果,但是我想要的结果不匹配,你能帮我看看我的javascript代码哪里出错了吗?

我想要的结果: ((x*10)/100)+x = ... 或 ((30.000 * 10) / 100)+30.000 = 33000

但为什么我得到的结果 = 300030000

var x = document.getElementById("x");
var y = document.getElementById("y");
var d = document.getElementById("d");
var xstored = x.getAttribute("data-in");
var ystored = y.getAttribute("data-in");
setInterval(function(){
    if( x == document.activeElement ){
     var temp = x.value;
     if( xstored != temp ){
       xstored = temp;
       x.setAttribute("data-in",temp);
       calculate();
     }
    }
    if( y == document.activeElement ){
     var temp = y.value;
     if( ystored != temp ){
       ystored = temp;
       y.setAttribute("data-in",temp);
       calculate();
     }
    }
},50);

function calculate(){
 d.innerHTML = ((x.value * y.value) / 100) + x.value ;
}
x.onblur = calculate;
calculate();
<div class="section">
    <div class="container">
        <h3>Calculate</h3>
        <input id="x" data-in="" type="text" />
        x <input id="y" data-in="" type="text" />
        <hr>
        <div id="d"></div>
    </div>
</div>

input元素的值是一个字符串,所以在添加之前需要将其转换为数字,以防止它被视为字符串连接。这可以使用 unary plus operator.

d.innerHTML = ((x.value * y.value) / 100) + (+x.value);