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