Ajuda - Busca - Membros - Calendário
Versão Completa: Digita um numero
Fórum Script Brasil > Programação & Desenvolvimento > PHP
tiago31
pessoal estou querendo fazer um sistema tipo quando digito um numero aparece por escrito o numero...
SK15
http://www.phpbrasil.com/script/V-z4ODGpku...ado-por-extenso

Se não for isso é quase, use como base!
tiago31
o valeu.. mais agora como eu consigo colocar na minha pagina...

e porque so aparece no topo na imagem...
Matheus Matos
Tópico duplicado: http://scriptbrasil.com.br/forum/index.php...mp;#entry562926

seria melhor fechar algum deles!

Vlw
Matheus Matos
Jonathan Queiroz
Movi a resposta que o Tiago tinha dado no outro tópico para este aqui e excluí o outro.
tiago31
ok mais alguém sabe como funciona o codigo...

como eu faço para pegar o valor do return
SK15
É só colocar a função em algum lugar e chamar-lá ..... blink.gif é básico tongue.gif
É só colocar o arquivo para funcionar em um servidor que ele funciona aprenseta o resultado ....

CODE
<?php
function extenso($valor=0,$tipo=0,$caixa="alta") {
// AQUI VEM A FUNÇÃO QUE ESTÁ NO ARQUIVO
// EU NÃO COLOQUEI POIS É MEIO GRANDINHA
}

// AQUI você CHAMA ELA COM SEU VALOR ...
echo extenso("4060,20",1,$caixa="alta");

// Resultado: QUATRO MIL E SESSENTA REAIS E VINTE CENTAVOS
?>



QUOTE(tiago31 @ 06/09/2009 - 15:37) *
ok mais alguém sabe como funciona o codigo...

como eu faço para pegar o valor do return

tiago31
mais tipo eu quero chamar ele no html...
Jonathan Queiroz
Qual seria a diferença ?
Faça como o SK15 postou.
tiago31
mais tipo não entendi muito bem tipo

chamei assim olha



php
CODE
echo extenso("$total",1,$caixa="alta");

<html>


etc

table...
CODE
<?=
function extenso($valor=0,$tipo=0,$caixa="alta") {
    
    $valor = strval($valor);
    $valor = str_replace(",",".",$valor);

    if($tipo==1){
    
    
    $singular = array("centavo", "real", "mil", "milhão", "bilhão", "trilhão", "quatrilhão");
    $plural = array("centavos", "reais", "mil", "milhões", "bilhões", "trilhões",
    "quatrilhões");
    }else{
    
    $pos   = strpos($valor,".");
    $valor = substr($valor,0,$pos);
    
    $singular = array("", "", "mil", "milhão", "bilhão", "trilhão", "quatrilhão");
    $plural = array("", "", "mil", "milhões", "bilhões", "trilhões",
    "quatrilhões");
    }
    

    $c = array("", "cem", "duzentos", "trezentos", "quatrocentos",
"quinhentos", "seiscentos", "setecentos", "oitocentos", "novecentos");
    $d = array("", "dez", "vinte", "trinta", "quarenta", "cinquenta",
"sessenta", "setenta", "oitenta", "noventa");
    $d10 = array("dez", "onze", "doze", "treze", "quatorze", "quinze",
"dezesseis", "dezesete", "dezoito", "dezenove");
    $u = array("", "um", "dois", "três", "quatro", "cinco", "seis",
"sete", "oito", "nove");

    $z=0;

    $valor = number_format($valor, 2, ".", ".");
    $inteiro = explode(".", $valor);
    for($i=0;$i<count($inteiro);$i++)
        for($ii=strlen($inteiro[$i]);$ii<3;$ii++)
            $inteiro[$i] = "0".$inteiro[$i];

    $fim = count($inteiro) - ($inteiro[count($inteiro)-1] > 0 ? 1 : 2);
    for ($i=0;$i<count($inteiro);$i++) {
        $valor = $inteiro[$i];
        $rc = (($valor > 100) && ($valor < 200)) ? "cento" : $c[$valor[0]];
        $rd = ($valor[1] < 2) ? "" : $d[$valor[1]];
        $ru = ($valor > 0) ? (($valor[1] == 1) ? $d10[$valor[2]] : $u[$valor[2]]) : "";

        $r = $rc.(($rc && ($rd || $ru)) ? " e " : "").$rd.(($rd &&
$ru) ? " e " : "").$ru;
        $t = count($inteiro)-1-$i;
        $r .= $r ? " ".($valor > 1 ? $plural[$t] : $singular[$t]) : "";
        if ($valor == "000")$z++; elseif ($z > 0) $z--;
        if (($t==1) && ($z>0) && ($inteiro[0] > 0)) $r .= (($z>1) ? " de " : "").$plural[$t];
        if ($r) $rt = $rt . ((($i > 0) && ($i <= $fim) &&
($inteiro[0] > 0) && ($z < 1)) ? ( ($i < $fim) ? " e " : " e ") : " ") . $r;
    }
    
    if($caixa=="alta"){
    $rt = strtoupper($rt);
    }
    $maiusculas = array("Á","À","Â","Ã","É","Ê","Í","Ó","Ô","Õ","Ú","Û");
    $minusculas = array("á","à","â","ã","é","ê","í","ó","ô","õ","ú","û");
    
    
    for($i=0;$i<count($maiusculas);$i++){
    
        $rt = ereg_replace($minusculas[$i],$maiusculas[$i],$rt);    
    }    
    
         return $rt;  
        
}
?>






</html>
Esta é uma versão simplificada de nosso conteúdo principal. Para ver a versão completa com maiores informações, formatação e imagens, por favor clique aqui.
Invision Power Board © 2001-2013 Invision Power Services, Inc.