Código VB para convertir una cantidad de RMB en minúsculas a una cantidad en mayúsculas
Private Sub Command1_Click()
'0000,000,000,000,000
MsgBox GetNumber_en(Val(Me.Text1.
End Sub
Función privada GetNumber_en(ByVal iNum As Double) como cadena
Dim sNum como cadena, sNum_En como cadena, sAll como cadena, sDecimal como cadena
Dim sStrArray() Como Cadena, i Como Largo
sNum = Format(iNum, "000,000,000.000.00")
If InStr(sNum, ". ") > 0 Entonces
sDecimal = Derecha(sNum, Len(sNum) - InStr(sNum, "."))
sNum = Izquierda(sNum, InStr(sNum, " ."") - 1)
Finalizar si
sStrArray = Split(sNum, ","")
sNum_En = GetNum3_en(sStrArray(0)) p>
Si Len(sNum_En) > 0 Entonces sNum_En = sNum_ En & " mil millones" & IIf(Val(sStrArray(0)) > 1, "s", "")
sAll = sNum_En
sNum_En = GetNum3_en(sStrArray(1))
Si Len( sNum_En) > 0 Entonces sNum_En = sNum_En &" millones" & IIf(Val(sStrArray(1) ) > 1, "s", "")
Si Len(sNum_En) > 0 Entonces sAll = sAll & IIf(Len(sAll) > 0, " y ", "") & sNum_En
sNum_En = GetNum3_en(sStrArray(2))
Si Len(sNum_En) > 0 Entonces sNum_En = sNum_En &"thound" & IIf(Val(sStrArray(2)) > 1 , "s", "")
Si Len(sNum_En) > 0 Entonces sAll = sAll &IIf(Len(sAll) > 0, " y ", "") & sNum_En
sNum_En = GetNum3_en(sStrArray(3))
Si Len(sNum_En) > 0 Entonces sAll = sAll & IIf(Len(sAll) > 0, " y ", " ") & sNum_En
Si Len(sAll) > 0 Entonces sAll = sAll &" Dollar" & IIf(Val(Join(sStrArray, "") > 1, "s", "")
'decimal
Si Len(sDecimal) > 0 Entonces
sNum_En = GetNum3_en(sDecimal)
Si Len(sNum_En) > 0 Entonces sAll = sAll & IIf(Len(sAll) > 0, " y ", "") & sNum_En & " Cent" & IIf(Val(sDecimal) > 1, "s", "")
Finalizar si
GetNumber_en = sAll
Función final
Función privada GetNum3_en( ByVal iNum As Long) Como cadena
'3 dígitos
Dim sStr As String
sStr = Format(Left(iNum, 3), "000") 'Asegúrate de que solo haya 3 dígitos
p>
Si Val(Mid(sStr, 1, 1)) > 0 entonces 'cientos'
GetNum3_en = GetNum1_En(Mid(sStr, 1, 1) ) & "cientos" & IIf(Val(Mid(sStr, 1, 1)) > 1, "s" , "")
End If
Si Val(Mid( sStr, 2, 2 )) >= 20 entonces
'Comprueba si excede 20
Si Val(Mid(sStr, 2, 1)) > 0 Entonces 'diez
GetNum3_en = GetNum3_en & IIf(Len(GetNum3_en) > 0, " And ", "") & GetNum2_En(Mid(sStr, 2, 1))
Fin If p>
Si Val(Mid(sStr , 3, 1)) > 0 Entonces 'menos de 10
GetNum3_en = GetNum3_en & IIf(Len(GetNum3_en) > 0, " y "," "" ) & GetNum1_En(Mid (sStr, 3, 1))
Fin
Else
If Val(Mid(sStr, 2, 2)) > 0 Entonces 'menos de 10
GetNum3_en = GetNum3_en & IIf(Len(GetNum3_en) > 0, " y ", "") & GetNum1_En(Mid(sStr, 2, 2))
Finalizar si
Finalizar si
Finalizar función
Función privada GetNum2_En(ByVal iNum As Long) como cadena
Seleccionar Caso iNum
Caso 1
GetNum2_En = "Diez"
CasoCase 2
GetNum2_En = "Veinte"
Caso 3
GetNum2_En = "Treinta"
Caso 4
GetNum2_En = "Cuarenta"
Caso 5
GetNum2_En = "Cincuenta "
Caso 6
GetN
um2_En = "60"