<? //Desenvolvido por BOZO; BOZO@GAMBIARRA.COM.BR //Função para formatar valores //Valor digitado vai ser transformado em 1.234,56 //independente do valor digitado //Insere a casa decimal caso seja digitado .(ponto) ou , (virgula) no terceiro digito da direira para a esquerda //Se inserido alguma tag HTML retorna 0 Function Formata_Valor($valor){ if ((substr("$valor",-3,1) == ".") or (substr("$valor",-3,1) == ",")){ $casas = 2; $virgula = substr("$valor",-3,1); } elseif ((substr("$valor",-2,1) == ".") or (substr("$valor",-2,1) == ",")){ $casas = 1; $virgula = substr("$valor",-2,1); } elseif ((substr("$valor",-1,1) == ".") or (substr("$valor",-1,1) == ".")){ $casas = 1; $virgula = substr("$valor",-1,1); } elseif ( (substr("$valor",-3,1) == ".") or (substr("$valor",-3,1) == ",") ) { $casas = 2; } //$virgula = substr("$valor",-3,1); if($virgula=="."){ } $valor = eregi_replace(',','.',$valor); $valor = eregi_replace('[.\A-Z\-]','',$valor); if($casas==0){ $valor = $valor.".00"; $casas = 2; } elseif($casas==1){ $valor = substr("$valor",0,-1).".".substr("$valor",-1,1)."0"; $casas = 2; } elseif($casas==2){ $valor = substr("$valor",0,-2).".".substr("$valor",-2,2); } elseif($casas == 3) { $valor = substr("$valor",0,-3).".".substr("$valor",-3,2); } $valor = number_format($valor,$casas,',','.'); return $valor; } //testes $numero = "123456"; echo "Numero digitado: <b>$numero</b> com formatação: <b>".Formata_Valor($numero)."</b><br>"; $numero = "1234.56"; echo "Numero digitado: <b>$numero</b> com formatação: <b>".Formata_Valor($numero)."</b><br>"; $numero = "1234,56"; echo "Numero digitado: <b>$numero</b> com formatação: <b>".Formata_Valor($numero)."</b><br>"; $numero = "1.234,56"; echo "Numero digitado: <b>$numero</b> com formatação: <b>".Formata_Valor($numero)."</b><br>"; $numero = "1.234,56"; echo "Numero digitado: <b>$numero</b> com formatação: <b>".Formata_Valor($numero)."</b><br>"; $numero = "12345.6"; echo "Numero digitado: <b>$numero</b> com formatação: <b>".Formata_Valor($numero)."</b><br>"; $numero = "1.2.3.4.5.6"; echo "Numero digitado: <b>$numero</b> com formatação: <b>".Formata_Valor($numero)."</b><br>"; $numero = "12345.6"; echo "Numero digitado: <b>$numero</b> com formatação: <b>".Formata_Valor($numero)."</b><br>"; $numero = "123.456"; echo "Numero digitado: <b>$numero</b> com formatação: <b>".Formata_Valor($numero)."</b><br>"; $numero = "1.2BOZO34.56"; echo "Numero digitado: <b>$numero</b> com formatação: <b>".Formata_Valor($numero)."</b><br>"; $numero = "<i>1.2BOZO34.56</i>"; echo "Numero digitado: <b>$numero</b> com formatação: <b>".Formata_Valor($numero)."</b><br>"; ?>