//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: $numero com formatação: ".Formata_Valor($numero)."
";
$numero = "1234.56";
echo "Numero digitado: $numero com formatação: ".Formata_Valor($numero)."
";
$numero = "1234,56";
echo "Numero digitado: $numero com formatação: ".Formata_Valor($numero)."
";
$numero = "1.234,56";
echo "Numero digitado: $numero com formatação: ".Formata_Valor($numero)."
";
$numero = "1.234,56";
echo "Numero digitado: $numero com formatação: ".Formata_Valor($numero)."
";
$numero = "12345.6";
echo "Numero digitado: $numero com formatação: ".Formata_Valor($numero)."
";
$numero = "1.2.3.4.5.6";
echo "Numero digitado: $numero com formatação: ".Formata_Valor($numero)."
";
$numero = "12345.6";
echo "Numero digitado: $numero com formatação: ".Formata_Valor($numero)."
";
$numero = "123.456";
echo "Numero digitado: $numero com formatação: ".Formata_Valor($numero)."
";
$numero = "1.2BOZO34.56";
echo "Numero digitado: $numero com formatação: ".Formata_Valor($numero)."
";
$numero = "<i>1.2BOZO34.56</i>";
echo "Numero digitado: $numero com formatação: ".Formata_Valor($numero)."
";
?>