Boa noite, tenho um código que efetua a multiplicação do valor de um produto com a quantidade, so que quando tenho um valor acima de mil ele me retorna um valor errado!
Exemplo: Preço do produto é 2.599,29 quando altero a quantidade para 2 vai para o valor de 5,20. Como consigo resolver?
Tem como colocar o código relacionado?
o código e este
function id(el){
return document.getElementById( el );
}
function total( un, qnt ) {
return parseFloat(un.replace(',', '.'), 10) * parseFloat(qnt.replace(',', '.'), 10);
}
window.onload = function() {
id('preco').addEventListener('keyup', function() {
var result = total( this.value , id('qnt').value );
id('total').value = String(result.toFixed(2)).formatMoney();
});
id('qnt').addEventListener('keyup', function(){
var result = total( id('preco').value , this.value );
id('total').value = String(result.toFixed(2)).formatMoney();
});
}
String.prototype.formatMoney = function(){
var v = this;
if(v.indexOf('.') === -1){
v = v.replace(/([\d]+)/,"$1,00");
}
v = v.replace(/([\d]+)\.([\d]{1})$/, "$1,$20");
v = v.replace(/([\d]+)\.([\d]{2})$/, "$1,$2");
v = v.replace(/([\d]+)([\d]{3}),([\d]{2})$/, "$1.$2,$3");
return v;
};
Os id’s qtn, preco, total são os nomes dos meus input no html!