Visual Basic - Decimales

Life is soft - evento anual de software empresarial
 
Vista:

Decimales

Publicado por Valentin Ricardo C (2 intervenciones) el 09/06/2002 01:25:36
Como le puedo hacer para que solo me muestre dos decimales de una variable currency.

este valor se lo asigno a un textbox, y cuando tiene decimales me salen hasta 4 decimales, y solo quiero que me muestre 2, y que cuando no tenga decimales que me salga .00

por ejemplo

valor as currency
valor= 10/3
valor=3.333333
text1.text=valor
en el textbox me sale: 3.33333, como le puedo hacer para que me salga 3.33 solamente

otro caso es cuando el resultado es cerrado, ejemplo:

valor as currency
valor=10/2
valor=5
text1.text=valor
el text me muestra 5 y yo quisiera que me mostrara 5.00.

espero y me puedan ayudar, se los agradeceria mucho
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:Decimales

Publicado por XcUiDi (30 intervenciones) el 09/06/2002 06:43:08
Para la primera opcion, puedes utilizar el Metodo Format de la siguiente manera

variable = Format(Numero,"#.##")

Con eso le asignas a una variable (de tipo real por supuesto), el formato de solo dos decimales, no importando el número del lado izquierdo del punto, o sea:

Val1 = 5.3333333
Val2 = Format(Val1,"#.##") 'Val2 = 5.33 <-- tambien del mismo tipo

Con respecto a lo segundo, la verdad no lo he hecho, pero puedes hacer un truquito anexando los dos ceros despues del punto. por ejemplo:

Var1 = 5
Text1.Text = Str(Val1) & ".00"

ahora te preguntaras como saber si debes anexar los dos ceros, pos haz una revision del valor antes de anexarlos, por ejemplo

Val1 = 423 'supongamos que este valor lo calculó y no sabemos si tiene punto decimal... y nos dió ese valor...

Ahora lo convertimos a cadena para probar letra por letra si contiene un punto decimal...

TienePunto = False
For I = 1 To Len(Str(Val1))
If Mid(Str(Val1),I,1) = "." Then
TienePunto = True 'Variable booleana
End if
Next I

Al finalizar la busqueda
If Not TienePunto Then
Text1.Text = Str(Val1) & ".00"
End if

Y listo. Espero haberte apoyado.

Atte: -=)XcUiDi(=-
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:Decimales

Publicado por Cesar Ornelas (55 intervenciones) el 09/06/2002 06:50:53
Puedes usar el comando Format
Ej1:
Dim valor as currency
valor=10/3
valor = Format( valor, "##,##0.00") ' Esto es: val = 3.33
text1.text = valor

Ej2:
Dim valor as currency
valor=10/2
valor = Format( valor, "#,##0.00") ' Esto es: val = 5.00
text1.text = valor

El string "#,##0.00" puedes cambiarlo de diferentes formas.. por ejemplo si quieres 3 decimales usarias "#,##0.00"... si esperas k la cantidad sean millones usas "###,###,##0.00" y esto te regresari valores como 100,000,000,00 etc..etc...

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