Página 2 de 2
Função extenso passo a passo
Enviado: 18 Abr 2021 12:46
por JoséQuintas
O "E" quando for centena redonda
Código: Selecionar todos
IF Len( cTxt ) != 0
cTxt += " "
IF nCentena == Int( nCentena / 100 ) * 100
cTxt += "E "
ENDIF
ENDIF
Trocar HUM MIL, POR MIL, .... ainda precisa confirmar
Código: Selecionar todos
//IF nGrupo != 4 .OR. nCentena != 1 // grupo milhar valor 1 diferente
cTxt += ze_ExtensoCentena( nCentena )
//ENDIF
O mesmo referente a HUM
Uma alternativa seria:
Pensei parecido para trocar UM MIL, mas não dá, porque VINTE E UM MIL seria trocado também.
Será desbloquear o bloco indicado anteriormente.
Função extenso passo a passo
Enviado: 18 Abr 2021 12:51
por JoséQuintas
Pendências:
Confirmar se os bancos, no preenchimento por computador, exigem:
- HUM no lugar de UM
- UM MIL no lugar de MIL
Função extenso passo a passo
Enviado: 18 Abr 2021 13:47
por JoséQuintas
Na internet só encontrei sobre o HUM mesmo, pra evitar fraudes, porque escrito a mão, como foi postado num link anterior, dá pra facilmente transformar UM em CEM, o HUM é justamente pra evitar isso.
O mil, sem HUM MIL, é mais pra evitar que alguém coloque algum texto antes de mil.
Existe a alternativa de escrever entre parênteses, ou com sinal de igual.
=MIL
(MIL)
Não encontrei nada oficial dos bancos sobre "o que é oficial", nem no caso de escrita a mão, nem no caso de escrita por computador.
Talvez confirmar com clientes sobre isso.
Na rotina de extenso dá pra deixar " UM ", e por strtran() trocar " UM " pra " HUM ", ou vice-versa.
Função extenso passo a passo
Enviado: 18 Abr 2021 13:48
por JoséQuintas
Ficamos no aguardo de informações oficiais.
Função extenso passo a passo
Enviado: 18 Abr 2021 19:45
por JoséQuintas
Rotina em MySQL, conforme aquele site.
Função extenso passo a passo
Enviado: 20 Abr 2021 16:50
por JoséQuintas
Tem gente que ainda se perde com isso.
Como funciona o conjunto?
222
Passa pra rotina de centena 222.
A rotina de centena tem "DUZENTOS E" e chama a de dezena passando 22
A rotina de dezena recebe 22.
A rotina de dezena tem "VINTE E" e chama a de unidade passando 2
A rotina de unidade recebe 2.
A rotina de unidade devolve "DOIS" pra dezena
A dezena junta "VINTE E DOIS" e devolve pra centena
A centena junta "DUZENTOS E VINTE E DOIS" e devolve pra quem chamou
E é assim que tudo vai se formando, cada função recebe um valor e devolve um texto.
Não precisamos chamar cada uma, basta chamar uma principal que ela faz uso das outras, se precisar.
Com certeza, nessas horas é importantíssimo declarar variáveis como LOCAL no Harbour, pra não ter mistura de variáveis.
No MySQL isso já é feito por padrão.