Fóruns sobre PHP, JavaScript, HTML, MySQLi, jQuery, Banco de Dados, CSS

Moderador: web

 
Primeiras postagens
Primeiras postagens
Tópico Autor
Mensagens: 2
Sexo: Masculino

Soma com Jquery sem arredondar valores

22-02-2013 18:01

Boa tarde.

Será que alguém pode me ajudar por favor?

Estou tentando somar uma lista de valores (floats) com jquery. Quero somá-los sem arredondar, mas não é isso que estou conseguindo.
Estou conseguindo fazer a minha soma, mas o resultado vem arredondado. Noto que na verdade os valores somados estão sendo arredondados antes da soma.

var valor = 0;
$(".ValorServico").each(function() {
var valorServico = parseFloat($(this).attr("name"));
valor = valorServico + parseFloat(valor);
});
$('#ValorTotal').html(valor.toFixed(2).replace('.', ','));


- Os ítens que quero somar são gerados dinamicamente e o seu valor gerado é inserido no atributo "name" de cada ítem.
- Em um span com id ValorTotal estou exibindo o valor da soma de todos os ítens de classe .ValorServico

Isso está funcionando certinho, mas o resultado da soma está arredondado.
Ex: Quando é somado 19,90 + 9,90 o resultado em #ValorTotal é 28,00 e não 29,80 como deveria.

Onde estou errando?

Muito Obrigado.
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17235
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Soma com Jquery sem arredondar valores

22-02-2013 18:12

Acho que o que está incorreto é o uso de vírgula. Você pode trocar a vírgula por ponto antes de iniciar o cálculo. E cada valor da soma deve passar pelo parseFloat().

Deixo um exemplo básico.

<script src="jquery.js" type="text/javascript"></script>   <script> $(document).ready(function() {   valor = parseFloat($("#campo1").val())+parseFloat($("#campo2").val());   alert( valor.toFixed(2) );   }); </script>


<form name="form"> <input type="text" name="" id="campo1" value="19.90"> <input type="text" name="" id="campo2" value="9.90"> </form>

0
Criar site grátis Wix
Hospedagem de sites Hostgator
Tem um script legal em HTML, CSS, PHP, HTML, JavaScript, jQuery? Poste e compartilhe com os usuários do fórum
:rock:
 
Primeiras postagens
Primeiras postagens
Tópico Autor
Mensagens: 2
Sexo: Masculino

Soma com Jquery sem arredondar valores

25-02-2013 12:52

Realmente o problema era a vírgula, rs.

É que eu estava tentando dar o parseFloat em um valor que já vinha com vírgula (em parseFloat($(this).attr("name"))).
Como esse atributo name já vinha preenchido com um valor com vírgula, substituí ela por ponto, antes de dar o float.

Agora está funcionando perfeitamente!

Valeu pela ajuda!!!
0

Quem está online

Usuários navegando neste fórum: Bing [Bot], Google Adsense [Bot]