Visual Basic - Manipular cadenas

Life is soft - evento anual de software empresarial
   
Vista:

Manipular cadenas

Publicado por Omar (56 intervenciones) el 28/10/2008 23:27:18
Este es mi codigo

Function SumarImporte()
Dim i As Currency
Dim Contador As Currency
'*****VARIABLES DE VALORES*****
Dim SUBT As Currency
Dim IVA As Currency
Dim TOT As Currency

For i = 1 To MSFGridReg.Rows - 1
Contador = Contador + Format(MSFGridReg.TextMatrix(i, 4), "######.#0")
Next i

SUBT = Contador
TXTSUB.Text = Format(SUBT, "######.#0")
IVA = Val(TXTSUB.Text) * 0.15
TXTIVA.Text = Format(IVA, "######.#0")
TOT = Val(TXTSUB.Text) + Val(TXTIVA.Text)
TXTTOT.Text = Format(TOT, "######.#0")

With tNum2Text
TXTLETRA = "***" + " " + .Numero2Letra(TOT, , , TipoMoneda, , Masculino, Masculino) + " " + "***"
End With
End Function

Necesito separar los valores a cada lado del punto decimal en la variable TOT, para al momento de aplicar la cantidad con letra no me ponga los centavos en letra, solo de la unidad para arriba y yo despues en la cadena hacer tipo esto:
+ VariableCentavos + / + 100.

Ahorita hace esto:
1245.70
Mil doscientos cuarenta y cinco dolares setenta

Ocupo esto
Mil doscientos cuarenta y cinco dolares 70/100

De antemano, gracias por su comprension y paciencia
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Manipular cadenas

Publicado por Quique (85 intervenciones) el 29/10/2008 00:19:31
¿No conoces las variables y valores del tipo INTEGER y LONG ( te aconsejo que uses esta última, porque las primeras te almacenan un valor máximo de 32767)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Manipular cadenas

Publicado por pacopaz (173 intervenciones) el 29/10/2008 01:19:24
Mejor que sean tipo Double. Digo, para que si acepten el punto decimal, por que ni Integer ni Log son tipos de punto flotante.
Ahora, para Omar, lo que puedes hacer es usar el comando split, para separar, a través del punto, las dos partes.
Algo como esto:

dim NumStr as Variant

NumStr = split(Format(TOT, "######.#0") ,".")

el resultado es:
NumStr(0) es la parte entera
NumStr(1) es la parte decimal.

Para más información, refiérete a esta página:
http://msdn.microsoft.com/es-es/library/6x627e5f(VS.80).aspx

Espero que te sirva.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Manipular cadenas

Publicado por Omar (56 intervenciones) el 29/10/2008 19:58:33
Gracias quique por tus comentarios, sinceramente no entiendo en que me pueda ayudar lo que me comentas de las variables pero gracias.

Gracias pacopaz, era lo que ocupaba.

Saludos a ambos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Ahí está

Publicado por Quique (85 intervenciones) el 29/10/2008 20:35:55
Para pacopaz: yo no aconsejé que usara las variables Integer o Long EN VEZ de Double, sino que se auxiliara de ellas.
Y para Omar, pues lo que te comenté te podía haber ayudado en que la parte ENTERA de 1245.70 es 1245, pero en fin, ya te lo resolvieron con la función Split:
NumStr(0) es la parte entera ' A ESTO ME REFERÍA YO.
NumStr(1) es la parte decimal.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ahí está

Publicado por quique (64 intervenciones) el 29/10/2008 21:20:25
Eres un tocapelotas sin clase, mira lo que escribiste

"¿No conoces las variables y valores del tipo INTEGER y LONG ( te aconsejo que uses esta última, porque las primeras te almacenan un valor máximo de 32767)"

¿Tu no aconsejaste que usara la variable LONG?

"NumStr(0) es la parte entera ' A ESTO ME REFERÍA YO."

¿A ESO TE REFERIAS TÚ, DONDE?

En vez de estarte callaito, como sería lo normal, vas y saltas!

¡¡¡ Pobrecillo !!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Aclarando

Publicado por Quique (85 intervenciones) el 30/10/2008 00:56:01
Repito, porque parece que no te enteras de nada; puse "EN VEZ DE", o sea, nunca le dije que en NO USARA su variable Double, sino que también usara las Long para obtener la parte ENTERA de la cantidad, ¿vale? Ahí es el DONDE, al que te refieres en tu preguntita, a eso mismo: A LA PARTE ENTERA.

¿¿¿ "callaito" ??? (Sabrá Dios el dialecto que usas)

Se acabó, no te molestes en poner más de las boludeces que bien lo sabes hacer.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Aclarando

Publicado por quique (64 intervenciones) el 30/10/2008 13:08:53
Eres patético!!

No sabes ni tocar las pelotas!!!

Para llegar a ser un auténtico tocapelotas hay que estudiar y ganárselo y no imitar a los demás.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar