我目前正试图计算我的服务费用(8%)的费用。卖方可以输入他们想要收到的金额,或者想要买方支付(像蒸汽一样在这里:http://i.imgur.com/pLFN9px.png)。我目前使用此代码:Javascript货币计算(不一致结果)
function precise_round(num, decimals) {
var t=Math.pow(10, decimals);
return (Math.round((num * t) + (decimals>0?1:0)*(Math.sign(num) * (10/Math.pow(100, decimals))))/t).toFixed(decimals);
}
var elem = $(this);
elem.data('oldVal', elem.val());
elem.bind("propertychange change click keyup input paste", function(event){
if (elem.data('oldVal') != elem.val()) {
elem.data('oldVal', elem.val());
if(elem.attr("id")=="seller-gets") {
var cur = elem.val();
var value = cur*1.08;
$("#buyer-pays").val(precise_round(value), 2);
} else {
var cur = elem.val();
var value = cur*0.92;
$("#seller-gets").val(precise_round(value), 2);
}
}
});
});
接收(左)< - >支付(右)的转换并不一致。 (将左边产生的相同数字放回右边给出不同的左边)。
对不起,如果这不够清楚,如果需要,我可以更好地解释它。
与Neli H的parseFloat函数一起工作很好。我希望我可以选择2个答案! –