Pessoal, boa tarde!
Estou fazendo o calculo da imagem abaixo porém o resultado ele só esta me retornando "inteiro", por exemplo nessa conta abaixo seria Quantidade(343,25) - Quant. Selecionada(48,40) = Diferença (295,00), porém o resultado deveria ser 294,85.
Segue calculo que estou fazendo: var rest = parseFloat($("#QuantSelec1").val()) - parseFloat($("#QuantProd1").val());
$("#QuantRest1").val(rest.toFixed(2).replace('.', ',').replace(/(\d)(?=(\d{3})+\,)/g, "$1."));
Atenção: Esta publicação foi transferida automaticamente do fórum antigo, mas os anexos não foram incluídos.
Olá Quemuel, é que o toFixed(2) arrendonda o valor total pra 2 casas depois da virgula. O que você poderia tentar é tirar o toFixed, e se precisar realmente mostrar só 2 números depois da virgula fazer isso via mascara ou na sua expressão regular
Utilizando a dica do Diogo fiz:
var auxQuantSelec = String($("#QuantSelec1").val());
var auxQuantProd = String($("#QuantProd1").val());
var rest = convertStringFloat(auxQuantSelec) - convertStringFloat(auxQuantProd);
$("#QuantRest1").val(rest.toFixed(2).replace('.', ',').replace(/(\d)(?=(\d{3})+\,)/g, "$1."));
function convertStringFloat(valor){
if (valor.indexOf(',') == -1) {
} else {
valor = String(valor).split(".").join("").replace(",",".");
}
valor = parseFloat(valor);
return valor;
}