Escolar Documentos
Profissional Documentos
Cultura Documentos
php
$valor = $row_recibo['recibo_valor'];
/* Criado em : 12/2000
Autor: Paulo Marote - paulomarote@altavista.com
*/
function centena($valor) {
/*
Finalidade: Mostra por extenso um $valor entre 1 e 999
$genero pode ser "m" para masculino ou qualquer
outra coisa para feminino
A estrutura desta fun��o � a seguinte:
caso o n�mero seja igual a 0 ou 100 (casos especiais), simplesmente
retorna a string "zero" ou "cem". Caso contr�rio inicia o processamento.
O array multidimensional $formula cont�m:
$formula[0][...] - lista das centenas
$formula[1][...] - lista das dezenas
$formula[2][...] - lista das unidades
$formula[3][...] - valores entre onze e dezenove (caso especial)
A string $centexte vai ser montada conforme o valor dado
para formar o n�mero por extenso
Atrav�s do loop for, o valor por extenso � montado conforme
o primeiro, segundo e terceiro d�gito da centena (001 a 999)
� colocado convenientemente os espa�os e a conjun��o "e"
Caso o segundo d�gito seja 1 e o terceiro seja entre 1 e 9,
� executado o caso especial ($formula[3][...]) e o loop for
� abandonado
*/
if ($valor == 0 || $valor == 100) {
return $valor == 0 ? "" : "cem";
}
else {
$formula = array(
0 => array(
"cento", "duzentos", "trezentos",
"quatrocentos", "quinhentos", "seiscentos",
"setecentos", "oitocentos", "novecentos"
),
1 => array(
"dez", "vinte", "trinta",
"quarenta", "cinq�enta", "sessenta",
"setenta", "oitenta", "noventa"
),
2 => array(
"um", "dois", "tr�s",
"quatro", "cinco", "seis",
"sete", "oito", "nove"
),
3 => array(
"onze", "doze", "treze",
"quatorze", "quinze", "dezesseis",
"dezessete", "dezoito", "dezenove"
)
);
$centexte = "";
/* as duas linhas abaixo montam a string $strcent, que nada
mais � o valor dado em formato string com exatamente tr�s
caracteres, com um ou dois zeros � esquerda caso seja
menor ou igual a 99 ou 9, respectivamente */
$strcent = "000" . $valor;
$strcent = substr($strcent, strlen($strcent) - 3, 3);
// formul�rio
/*
echo "<form method=\"post\" action=\"$PHP_SELF\">";
echo "Digite o n�mero: <input type=text name=\"valor\"";
echo isset($valor) ? "value = \"$valor\"" : "";
echo "> Tipo:<input type=\"radio\" name=\"valtipo\" value=\"m\"";
if (!isset($valtipo)) $valtipo = "m";
echo $valtipo == "m" ? "CHECKED" : "";
echo ">Masculino<input type=\"radio\" name=\"valtipo\" value=\"f\"";
echo $valtipo == "f" ? "CHECKED" : "";
echo ">Feminino<br>";
*/
/* caso j� tenha sido digitado anteriormente, mostra
o valor por extenso */
if (isset($valor)) {
// permite que seja usado v�rgula ou ponto. Se for
// o primeiro caso, converte a v�rgula para ponto.
$valor = ereg_replace (",", ".", $valor);
//echo extenso($valor, $valtipo);
echo moeda($valor, "m", "real", "reais", "centavo", "centavos");
}
?>