Ir para conteúdo

Arquivado

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

supino

Problema função que converte

Recommended Posts

Ae galera estou com um probleminha, desenvolvi uma função para convereter alguns dados, por exemplo:

 

as vezes recebo um valor assim 12.3 e quero que retorn 12.30, porem em outras situações recebo um valor assim 14.39999 e quero que retorne 14.40.

esta dando um erro, pois o IE alega que o objeto não da suporte a esta propriedade ou método mas percebam que na linha do 1º if esta funcionando normal.

 

Obrigado pela atenção!!!!!!!!

 

function formata( valor ){ //valor exemplo 15.29999999		var fim = ""		x = valor.split(".")		if( x[1].length > 2 && x[1].charAt(1) == 9 && x[1].charAt(1) == 9 ){			x[1] = parseInt(x[1]) + 1;			x[1] = x[1].charAt(0) +""+ x[1].charAt(1); //ERRRO*********************************		}else{			if( x[1].length == 1){				x[1] = x[1] + "0";			}		}		alert( x[0]+ "." +x[1] );//retornar 15.40}

Compartilhar este post


Link para o post
Compartilhar em outros sites

ele da erro porque voce ja converteu o valor para numero, e a partir desse momento ele perde os metodos de string, voce pode resolver esse problema alterando a linha que ta dando erro da seguinte forma:x[1] = (x[1] + '').charAt(0) +""+ (x[1] + '').charAt(1); pq a partir do momento que voce faz uma concatenacao (mesmo sendo com uma string vazia) o objeto passa a ser uma string, assim voce pode acessar o metodo charAt()

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.