Arquivo

Arquivo da Categoria ‘Windows’

Formatação de números em PHP

4, junho, 2009 1 comentário

Atendendo a vários pedidos mostrarei algumas maneiras de formatar
números

Vamos começar pelo básico
Verificando se o número é PAR
ou IMPAR

<?php
function verNumero($numero)

{ // Verificando o resto da divisão por 2

if($numero % 2 == 0)

{ // Se o resto for igual a zero é par

return "PAR";

}

else

{ // Caso não seja zero é impar

return "IMPAR";

}

}

$n = 654646570;

// Chamando a função e passando o parametro

echo verNumero($n);

?>

Trabalhando com potênciação

<?php

function calcula_potencia($base,$expoente){

$nuns = $base;

// For de 1 até o valor do expoente

for($c = 1;$c < $expoente;$c++){

$nuns = $nuns * $base;

}

$verifica = explode("E",$nuns);

if(count($verifica) > 1) {

$nuns = "Expoente muito elevado.";

}

return $nuns ;

}

// Chamando a função passando base 7 e
expoente 2

$potenciacao = calcula_potencia(7,2);

// Imprimindo na tela o resultado

echo $potenciacao;

?>

Verificando se um número é primo

<?php

$num = 1234567891;
if(nPrimo($num))
{
echo "$num é primo.";
}
else
{
echo "$num não é primo.";
}
function nPrimo($numero)
{ //com $numero > 2

$p = 2 ;
while($numero % $p != 0 && $p < sqrt($numero) ) $p+=1 ;

// 1 = Primo / 0 = ñ Primo

return ($numero%$p==0) ? 0 : 1 ;

}

?>

Trabalhando com Fatoração

< ?php

$num = 123456789;

$resposta = fatorarando($num);

echo "Seus fatores: ";

foreach($resposta as $aux) echo "$aux ";

function fatorarando($numero)

{

// $numero > 2

$x=2 ;

while($numero != 1)

{

if($numero % $x == 0)

{ // Vetor recebendo a variavel $x

$vet[] = $x;

$numero = $numero/$x;

}

else

{

$x++;

}

}

return $vet;

}

?>

Formatando moeda

< ?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);

?>

Formatação para número inteiro

< ?php

// Formatação para numero inteiro

$number = "1234567890000000";

$number=number_format($number,0,’.',’.');

echo $number;

// resultado 1.234.567.890.000.000

?>

Formatação para número monetário

< ?php

// Formatação para numero monetário

$number = "1234567890000000";

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

echo $number;

// resultado 1.234.567.890.000.000,00

?>

Formatação para número inteiro com espaçamento
a cada 3 casas

< ?php

// Formatação para numero inteiro com espaçamento
a cada 3 casas

$number = "1234567890000000";

$number=number_format($number,0,’.',chr(0xA0));

echo $number;

// resultado 1 234 567 890 000 000

?>

Formatação para número em reais com
decimal 99

< ?php

// Formatação para numero em reais com
decimal 99

$number = "2229346.99";

echo "R$" .number_format($number, 2, ‘,’, ‘.’);

// resultado R$2.229.346,99

?>

Formatação para número
em reais com decimal 00

< ?php

// Formatação para número em reais
com decimal 00

$number = "222934699";

echo "R$" .number_format($number, 2, ‘,’, ‘.’);

// resultado R$222.934.699,00

?>

Formatação para número
em reais sem decimal

< ?php

// Formatação para número em reais
sem decimal

$number = "222934699";

echo "R$" .number_format($number, 0, ‘,’, ‘.’);

// resultado R$222.934.699

?>

Formatação para número
colocando virgula a cada 3 casas

<?php

// Colocando virgula a cada 3 casas

// Recebendo o valor por parametro

function formatar($input)

{

if(strlen($input)<=3)

{ return $input; }

$length=substr($input,0,strlen($input)-3);

$formatted_input = formatar($length).",".substr($input,-3);

return $formatted_input;

}

// numero a ser passado por parametro

$num = 1234567;

// imprimindo o valor

echo formatar($num);

// resultado 1,234,567

?>

Formatação para número
colocando ponto a cada 3 casas

< ?php

// Colocando ponto a cada 3 casas

// Recebendo o valor por parametro

function formatando($input)

{

if(strlen($input)<=3)

{ return $input; }

$length=substr($input,0,strlen($input)-3);

$formatted_input = formatando($length).".".substr($input,-3);

return $formatted_input;

}

// numero a ser passado por parametro

$num = 1234567;

// imprimindo o valor

echo formatando($num);

// resultado 1.234.567

?>