Visual Basic - Problema con decimales en el resultado final

Life is soft - evento anual de software empresarial
 
Vista:
sin imagen de perfil
Val: 15
Ha aumentado su posición en 5 puestos en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

Problema con decimales en el resultado final

Publicado por David (5 intervenciones) el 04/03/2021 18:03:54
Hola, lo primero decir que soy principiante en esto, y tengo el siguiente problema al realizar una multiplicación y dar el resultado final con decimales obviando el 0 de la derecha, es decir, tengo este código en visual basic word 2013:

1
2
3
4
5
6
7
8
9
Private Sub CommandButton5_Click()
Dim a As Double
Dim b As Double
a = CDbl(TextBox3)
b = CDbl(ComboBox1)
TextBox4 = a * b
TextBox4 = Format(TextBox4, "0.0000")
TextBox4 = Int(TextBox4 * 100) / 100
End Sub

Por ejemplo:

Si realizo el cálculo de 0,53 * 0,95 (0,5035 resultado calculadora) el resultado final sale 0,5 y lo que quiero es que sea 0,50, también me pasa con 0,64 * 0,95 (0,608 resultado calculadora) que sale 0,6 y quiero que sea 0,60; no sé si me podrían ayudar.

Muchas gracias.
Un saludo.
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
Imágen de perfil de gilman
Val: 592
Bronce
Ha mantenido su posición en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

Problema con decimales en el resultado final

Publicado por gilman (322 intervenciones) el 05/03/2021 08:45:38
Sustituye
1
2
3
TextBox4 = a * b
TextBox4 = Format(TextBox4, "0.0000")
TextBox4 = Int(TextBox4 * 100) / 100
por:
1
TextBox4 = Format(a * b, "0.00")
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 15
Ha aumentado su posición en 5 puestos en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

Problema con decimales en el resultado final

Publicado por David (5 intervenciones) el 05/03/2021 15:26:05
Hola, he hecho lo que has dicho y cuando realizo la operación de 0,64 * 0,95 da resultado 0,61, lo redondea hacia arriba y cuando realizo la de 0,53 * 0,95 da resultado 0,5.
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
Imágen de perfil de gilman
Val: 592
Bronce
Ha mantenido su posición en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

Problema con decimales en el resultado final

Publicado por gilman (322 intervenciones) el 06/03/2021 09:58:04
0,64 * 0,95 = 0,608 con redondeo a dos decimales 0,61
0,53 * 0,95 = 0,5035 con redondeo a dos decimales 0,50
todo correcto, no entiendo el problema
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
sin imagen de perfil
Val: 125
Ha aumentado su posición en 7 puestos en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

Problema con decimales en el resultado final

Publicado por Sahid Ra Gutierrez Cruz (65 intervenciones) el 07/03/2021 11:09:02
y si el resultado lo tomas como un MID

1
2
3
4
5
6
7
8
9
Dim a As Double
Dim b As Double
Dim Total As Double
Dim Resultado
a = 0.53
b = 0.95
Total = a * b
Resultado = Mid(CStr(Total), 1, 3) + "0"
MsgBox Resultado
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de gilman
Val: 592
Bronce
Ha mantenido su posición en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

Problema con decimales en el resultado final

Publicado por gilman (322 intervenciones) el 07/03/2021 11:17:40
eso será si no quiere redondear, y además estás suponiendo que el resultado será siempre menor que 9 en valor absoluto
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
sin imagen de perfil
Val: 15
Ha aumentado su posición en 5 puestos en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

Problema con decimales en el resultado final

Publicado por David (5 intervenciones) el 07/03/2021 15:45:00
Hola, lo que quiero es que cuando se realice la operación con el código el resultado sea 0,60, 0,50 o 0,40, y no 0,6, 0,5 o 0,4 como sale, no quiero que redondee, el resto de operaciones que hago y que no acaban en cero salen bien, pero cuando llega a una operación que el segundo decimal es cero lo obvia y me gustaría que el cero saliera también.
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
sin imagen de perfil
Val: 15
Ha aumentado su posición en 5 puestos en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

Problema con decimales en el resultado final

Publicado por David (5 intervenciones) el 07/03/2021 20:52:16
Hola, he utilizado el código como MID, y sale el cero (0,50), pero al realizar la operación en el resto de números (0,51, 0,52, 0,54, 0,55, etc.) el resultado no se modifica y sale el mismo resultado de 0,50 para todos.
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
sin imagen de perfil
Val: 125
Ha aumentado su posición en 7 puestos en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

Problema con decimales en el resultado final

Publicado por Sahid Ra Gutiérrez Cruz (65 intervenciones) el 08/03/2021 00:55:58
Tan sencillo como la línea ocho del código modifica el 1,3 por 1,4 y elimina (+ "0") y listo, felices líneas de programación.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 15
Ha aumentado su posición en 5 puestos en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

Problema con decimales en el resultado final

Publicado por David (5 intervenciones) el 08/03/2021 13:05:00
Hola, con esto último me funciona perfectamente.

Muchas gracias.
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
sin imagen de perfil
Val: 125
Ha aumentado su posición en 7 puestos en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

Problema con decimales en el resultado final

Publicado por sahid ra gutierrez cruz (65 intervenciones) el 08/03/2021 18:03:45
y si sabrías como solucionar si el resultado tuviera decenas, centenas o unidades de mil?
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