Ir para conteúdo

POWERED BY:

Arquivado

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

fmda

formatar casa decimal

Recommended Posts

ola,

 

eu to criando um sisteminha so pra calcular IMC, porem o resultado que retorna pra mim, as casas decimais sao enormes, como faço pra restrigir apenas 2 casas decimais?

 

de: 17.70397729007051

para: 17.70

 

ou mesmo arrendodar para 18

 

ps: lembrando que o resultado eu jogo dentro de um textfiled

 

<script language="javascript">
   num1="";
   num2="";
   ---="";
   IMC="";
   
   function enviap(){
                num1=document.formulario.dpeso.value;
   }

   function enviaA(){
                num2=document.formulario.daltura.value;
                IMC=num1/(num2*num2);   
   }

   function sexo(){
                ---=document.formulario.daltura.value;
                document.formulario.imc1.value=eval(IMC);   
   }
   
   function resp(){
                alert("teste")
   }
   
   function limpa(){
                document.formulario.dpeso.value="";
                document.formulario.daltura.value="";
                document.formulario.imc1.value="";
   }

   function refaz(){
                document.formulario.dpeso.value="";
        document.formulario.daltura.value="";
        document.formulario.imc1.value="";
        num1="";
        num2="";
        ---="";
        IMC="";
   }
   </script>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Utilize essa função:

/**
 *
 * Função igual à existente no PHP, que formata um número de acordo com os parâmetros informados
 *
 * number: Número que será formatado
 * decimals: Determina o número de casas decimais
 * dec_point: Define o separador dos decimais (padrão brasileiro = , [vírgula])
 * thousands_sep: Define o separador do milhar (padrão brasileiro = . [ponto])
 *
 **/
function number_format(number, decimals, dec_point, thousands_sep)
{
	var n = number, prec = decimals;

	var toFixedFix = function (n, prec)
	{
		var k = Math.pow(10, prec);
		return (Math.round(n * k) / k).toString();
	};

	n = !isFinite( +n ) ? 0 : +n;
	prec = !isFinite( +prec ) ? 0 : Math.abs(prec);
	var sep = (typeof thousands_sep === 'undefined') ? ',' : thousands_sep;
	var dec = (typeof dec_point === 'undefined') ? '.' : dec_point;

	var s = (prec > 0) ? toFixedFix(n, prec) : toFixedFix(Math.round(n), prec); //fix for IE parseFloat(0.55).toFixed(0) = 0;

	var abs = toFixedFix(Math.abs(n), prec);
	var _, i;

	if(abs >= 1000)
	{
		_ = abs.split(/\D/);
		i = _[0].length % 3 || 3;
 
		_[0] = s.slice(0,i + (n < 0)) + _[0].slice(i).replace(/(\d{3})/g, sep + '$1');
		s = _.join(dec);
	}
	else
	{
		s = s.replace('.', dec);
	}

	var decPos = s.indexOf(dec);

	if(prec >= 1 && decPos !== -1 && (s.length-decPos-1) < prec)
	{
		s += new Array(prec - (s.length - decPos - 1)).join(0) + '0';
	}
	else if(prec >= 1 && decPos === -1)
	{
		s += dec + new Array(prec).join(0) + '0';
	}

	return s;
}
Fonte: http://phpjs.org/functions/number_format:481

 

 

http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

nao intendi como q jogo no meu, sou iniciante em php, sou fraquinho ainda

 

COmo que utilizo esta funcao, tem como me da um help

Compartilhar este post


Link para o post
Compartilhar em outros sites

Adicione a função do Paulo no seu script e troque a linha

document.formulario.imc1.value=eval(IMC)
por

document.formulario.imc1.value=number_format(IMC, 2);

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.