Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Callebe

[Resolvido] Tratando Strings

Recommended Posts

em um formulário tenho que multiplicar e somar alguns valores ponto flutuantes (float) e na hora de mostrar o resultado aparece muitos zeros depois da virgula e um número no final, por exemplo multiplico 2 por 1.1 e somo mais 5.5, era pra dar 7.7 mas dá 7.7000000000000005, como posso tirar esses zeos a direita da vírgula e pegar apenas as duas casas depois da vírgula?

 

meu código tah assim:

 

function atualizar_campo(multiplicador, campo, soma, soma_geral){

m = parseInt(multiplicador.value);

c = parseFloat(campo.value.replace(",", "."));

g = parseFloat(soma_geral.value.replace(",", "."));

s = (m * c);

sg = ((s + g) + "").replace(",", ".");

soma.value = (s + "").replace(",", ".");

soma_geral.value = sg;

}

 

des de já obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você pode utilizar a função toFixed([digitos]:int) ou o toPrecision([precisao]:int)

exemplo:

 

var fLNumber = 123.0000000123;

document.write(fLNumber);
document.write('<br />');
document.write(fLNumber.toFixed(2));

output:

123.0000000123

123.00

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não tah dando certo.

 

CODE
unction atualizar_campo(multiplicador, campo, soma, soma_geral){

m = parseInt(multiplicador.value);

c = parseFloat(campo.value.replace(",", "."));

g = parseFloat(soma_geral.value.replace(",", "."));

s = (m * c);

sg = ((s + g) + "").replace(",", ".");

soma.value = (s + "").replace(",", ".");

soma_geral.value = sg;

}

 

nesse código, o valor que quero limitar é a variavel sg, quero limitar ela antes de soma_geral.value receber sg.

tentei isso:

soma_geral.value = sg.toFixed(2);

 

mas não deu certo, na verdade, nem apareceu o valor da soma.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Galera, consegui, eu tava tentando usar a função em uma variável string.

usei a função antes de transformar em string e deu certo.

ficou assim:

CODE
function atualizar_campo(multiplicador, campo, soma, soma_geral){

m = parseInt(multiplicador.value);

c = parseFloat(campo.value.replace(",", "."));

g = parseFloat(soma_geral.value.replace(",", "."));

s = (m * c);

sg = ((s + g).toFixed(2) + "").replace(",", ".");

soma.value = (s.toFixed(2) + "").replace(",", ".");

soma_geral.value = sg;

}

 

obrigado pela ajuda.

abraço

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.