Formatação de números em PHP
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
?>
Oi galera, gostaria de uma ajuda, eu adquirir um pacote de TV HD no PC no site http://www.tvhd.com.br tenho acesso a vários canais através de um painel de controle que eu visualizo no próprio navegador, como eu faço para gravar os programas e série de TV no meu PC, lembrando que não tem nem um programa instalado no meu PC é todo pelo próprio navegador.
Quem tiver uma luz por favor me ajude meu e-mail: duvalino_2222@ig.com.br