VBcoders Browse New Submit Contact Sign In

No account? Register free

Forgot password?

clsExtenso (numbers to words Portuguese only)

Pedro Vieira  (1 Submission)   String Manipulation   Visual Basic 3.0   Unknown Difficulty   Wed 3rd February 2021

Convert numbers to words (Portuguese only!)

Inputs
a number (double)

Returns
The number coverted to Portuguese words.

API Declarations
Private Declare Function GetLocaleInfo& _
Lib "kernel32" Alias "GetLocaleInfoA" ( _
ByVal Locale As Long, _
ByVal LCType As Long, _
ByVal lpLCData As String, _
ByVal cchData As Long)

Private Const LOCALE_USER_DEFAULT& = &H400
Private Const LOCALE_SDECIMAL& = &HE
Private Const LOCALE_SCURRENCY& = &H14
Private Const LOCALE_SMONDECIMALSEP& = &H16
Public Enum enmFormat
Maiusculas
Minusculas
PrimeiraMaiuscula
End Enum
Private arrGrupo() As String
'2 dimensoes
'1º -> [0]=valor numérico do grupo; [1]=extenso
'2ª -> contador
Private Const E = "e "
Private Const Virgula = ", "
Private Const ZERO = "Zero "
Private Const UM = "Um "
Private Const DOIS = "Dois "
Private Const TRES = "Três "
Private Const QUATRO = "Quatro "
Private Const CINCO = "Cinco "
Private Const SEIS = "Seis "
Private Const SETE = "Sete "
Private Const OITO = "Oito "
Private Const NOVE = "Nove "
Private Const DEZ = "Dez "
Private Const ONZE = "Onze "
Private Const DOZE = "Doze "
Private Const TREZE = "Treze "
Private Const CATORZE = "Catorze "
Private Const QUINZE = "Quinze "
Private Const DEZASSEIS = "Dezasseis "
Private Const DEZASSETE = "Dezassete "
Private Const DEZOITO = "Dezoito "
Private Const DEZANOVE = "Dezanove "
Private Const VINTE = "Vinte "
Private Const TRINTA = "Trinta "
Private Const QUARENTA = "Quarenta "
Private Const CINQUENTA = "Cinquenta "
Private Const SESSENTA = "Sessenta "
Private Const SETENTA = "Setenta "
Private Const OITENTA = "Oitenta "
Private Const NOVENTA = "Noventa "
Private Const CEM = "Cem "
Private Const CENTO = "Cento "
Private Const DUZENTOS = "Duzentos "
Private Const TREZENTOS = "Trezentos "
Private Const QUATROCENTOS = "Quatrocentos "
Private Const QUINHENTOS = "Quinhentos "
Private Const SEISCENTOS = "Seiscentos "
Private Const SETECENTOS = "Setecentos "
Private Const OITOCENTOS = "Oitocentos "
Private Const NOVECENTOS = "Novecentos "
Private Const MIL = "Mil "
Private Const MILHAO = "Milhao "
Private Const MILHOES = "Milhoes "
Private Const BILIAO = "Biliao "
Private Const BILIOES = "Bilioes "
Private strUnidades(9) As String
Private strTeens(99) As String
Private strDezenas(9) As String
Private strCentenas(9) As String
Private strMilhares(9) As String
Private mstrDecSep As String * 1
Private mstrDefaultErrorMsgOverflow As String
Private Const ERR_OVERF = "Overflow"
'singular
Private mstrDefaultSufixoInteiro1 As String
Private Const SUF_INT1 = "Escudo "
Private mstrDefaultSufixoDecimal1 As String
Private Const SUF_DEC1 = "Centavo "
'plural
Private mstrDefaultSufixoInteiro2 As String
Private Const SUF_INT2 = "Escudos "
Private mstrDefaultSufixoDecimal2 As String
Private Const SUF_DEC2 = "Centavos "
Private Const MAX_NUMBER As Double = 999999999999.99

Rate clsExtenso (numbers to words Portuguese only) (2(2 Vote))
clsExtenso (numbers to words Portuguese only).bas

clsExtenso (numbers to words Portuguese only) Comments

No comments yet — be the first to post one!

Post a Comment

0/1000 characters