Ir para conteúdo

POWERED BY:

Arquivado

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

new user

[Resolvido] como formatar preço

Recommended Posts

Galera, beleza?

 

A parte de matemática eu consegui, agora só falta "formatar" o resultado.

 

fiz um código que calcula o preço do carro com entrada, juros e valor das parcelas. Mas o resultado mostra: R$: 1041.6666666667 em vez de R$: 1.041,66.

 

Alguém sabe como resolver?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Galera, beleza?

 

A parte de matemática eu consegui, agora só falta "formatar" o resultado.

 

fiz um código que calcula o preço do carro com entrada, juros e valor das parcelas. Mas o resultado mostra: R$: 1041.6666666667 em vez de R$: 1.041,66.

 

Alguém sabe como resolver?

Bixo, isso aki vai te ajuda

 

http://br.php.net/manual/pt_BR/function.number-format.php

 

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

Compartilhar este post


Link para o post
Compartilhar em outros sites

Galera, beleza?

 

A parte de matemática eu consegui, agora só falta "formatar" o resultado.

 

fiz um código que calcula o preço do carro com entrada, juros e valor das parcelas. Mas o resultado mostra: R$: 1041.6666666667 em vez de R$: 1.041,66.

 

Alguém sabe como resolver?

 

 

 

Enquanto não acho um jeito menor e melhor, vou usando provisóriamente:

 

CODE
<?php

// Recebe o parametro $numero

// Existe outra maneira muito mais fácil

// Mas o objetivo e trabalhar seus conhecimentos

function formata($numero)

{

if(strpos($numero,'.')!='')

{

$var=explode('.',$numero);

if(strlen($var[0])==4)

{

$parte1=substr($var[0],0,1);

$parte2=substr($var[0],1,3);

if(strlen($var[1])<2)

{

$formatado=$parte1.'.'.$parte2.','.$var[1].'0';

}else

{

$formatado=$parte1.'.'.$parte2.','.$var[1];

}

}

elseif(strlen($var[0])==5)

{

$parte1=substr($var[0],0,2);

$parte2=substr($var[0],2,3);

if(strlen($var[1])<2)

{

$formatado=$parte1.'.'.$parte2.','.$var[1].'0';

}

else

{

$formatado=$parte1.'.'.$parte2.','.$var[1];

}

}

elseif(strlen($var[0])==6)

{

$parte1=substr($var[0],0,3);

$parte2=substr($var[0],3,3);

if(strlen($var[1])<2)

{

$formatado=$parte1.'.'.$parte2.','.$var[1].'0';

}

else

{

$formatado=$parte1.'.'.$parte2.','.$var[1];

}

}

elseif(strlen($var[0])==7)

{

$parte1=substr($var[0],0,1);

$parte2=substr($var[0],1,3);

$parte3=substr($var[0],4,3);

if(strlen($var[1])<2)

{

$formatado=$parte1.'.'.$parte2.'.'.$parte3.','.$var[1].'0';

}

else

{

$formatado=$parte1.'.'.$parte2.'.'.$parte3.','.$var[1];

}

}

elseif(strlen($var[0])==8)

{

$parte1=substr($var[0],0,2);

$parte2=substr($var[0],2,3);

$parte3=substr($var[0],5,3);

if(strlen($var[1])<2){

$formatado=$parte1.'.'.$parte2.'.'.$parte3.','.$var[1].'0';

}else{

$formatado=$parte1.'.'.$parte2.'.'.$parte3.','.$var[1];

}

}

elseif(strlen($var[0])==9)

{

$parte1=substr($var[0],0,3);

$parte2=substr($var[0],3,3);

$parte3=substr($var[0],6,3);

if(strlen($var[1])<2)

{

$formatado=$parte1.'.'.$parte2.'.'.$parte3.','.$var[1].'0';

}

else

{

$formatado=$parte1.'.'.$parte2.'.'.$parte3.','.$var[1];

}

}

elseif(strlen($var[0])==10)

{

$parte1=substr($var[0],0,1);

$parte2=substr($var[0],1,3);

$parte3=substr($var[0],4,3);

$parte4=substr($var[0],7,3);

if(strlen($var[1])<2)

{

$formatado=$parte1.'.'.$parte2.'.'.$parte3.'.'.$parte4.','.$var[1].'0';

}

else

{

$formatado=$parte1.'.'.$parte2.'.'.$parte3.'.'.$parte4.','.$var[1];

}

}

else

{

if(strlen($var[1])<2)

{

$formatado=$var[0].','.$var[1].'0';

}

else

{

$formatado=$var[0].','.$var[1];

}

}

}

else

{

$var=$numero;

if(strlen($var)==4)

{

$parte1=substr($var,0,1);

$parte2=substr($var,1,3);

$formatado=$parte1.'.'.$parte2.','.'00';

}

elseif(strlen($var)==5)

{

$parte1=substr($var,0,2);

$parte2=substr($var,2,3);

$formatado=$parte1.'.'.$parte2.','.'00';

}

elseif(strlen($var)==6)

{

$parte1=substr($var,0,3);

$parte2=substr($var,3,3);

$formatado=$parte1.'.'.$parte2.','.'00';

}

elseif(strlen($var)==7)

{

$parte1=substr($var,0,1);

$parte2=substr($var,1,3);

$parte3=substr($var,4,3);

$formatado=$parte1.'.'.$parte2.'.'.$parte3.','.'00';

}

elseif(strlen($var)==8)

{

$parte1=substr($var,0,2);

$parte2=substr($var,2,3);

$parte3=substr($var,5,3);

$formatado=$parte1.'.'.$parte2.'.'.$parte3.','.'00';

}

elseif(strlen($var)==9)

{

$parte1=substr($var,0,3);

$parte2=substr($var,3,3);

$parte3=substr($var,6,3);

$formatado=$parte1.'.'.$parte2.'.'.$parte3.','.'00';

}

elseif(strlen($var)==10)

{

$parte1=substr($var,0,1);

$parte2=substr($var,1,3);

$parte3=substr($var,4,3);

$parte4=substr($var,7,3);

$formatado=$parte1.'.'.$parte2.'.'.$parte3.'.'.$parte4.','.'00';

}

else

{

$formatado=$var.','.'00';

}

}

return $formatado." Reais";

}

$num = 1234567890;

echo formata($num);

?>

Galera, beleza?

 

A parte de matemática eu consegui, agora só falta "formatar" o resultado.

 

fiz um código que calcula o preço do carro com entrada, juros e valor das parcelas. Mas o resultado mostra: R$: 1041.6666666667 em vez de R$: 1.041,66.

 

Alguém sabe como resolver?

 

achei o código certo!

 

CODE

<?php

// Formatação para numero monetário

$number = "1333.3333333333";

$number=number_format($number,2,',','.');

echo $number;

 

?>

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.