1.2* 10 / 100 no se puede??
hola :
Private Sub Form_Load()
Dim A As Integer
Dim B As Integer
B = 1.2
B = B * 10
Label2 = B
B = 1.2
A = B * 10 / 100
Label1.Caption = A
End Sub
'ES = 0.25 pero me pone cero
porque no puedo sar el porcentaje 0.5 de x numero
o sacar el 5% de 1.2 o hacer esto label1= 1.2 * 0.5 /100
Private Sub Form_Load()
Dim A As Integer
Dim B As Integer
B = 1.2
B = B * 10
Label2 = B
B = 1.2
A = B * 10 / 100
Label1.Caption = A
End Sub
'ES = 0.25 pero me pone cero
porque no puedo sar el porcentaje 0.5 de x numero
o sacar el 5% de 1.2 o hacer esto label1= 1.2 * 0.5 /100
corrijo lo ultimo si se puede
esto es lo que hago para probar con algo simple..
Option Explicit
Private Sub Form_Load()
Dim A As Integer
Dim B As Integer
B = 1.2
B = B * 10
Label2 = B 'esto me da 10 y deveria dar 12
B = 1.2
A = B * 10 / 100
Label1.Caption = A 'esto me da 0 y deberia dar 0.25
Label3.Caption = 1.2 * 0.5 / 100 ' esto si funciona
End Sub
pero porque cuando lo hago con variables no lo hace,talves yo pienso que tendria que ser asi ..pero no lo es
alguien sabe cual es el problema?
esto es lo que hago para probar con algo simple..
Option Explicit
Private Sub Form_Load()
Dim A As Integer
Dim B As Integer
B = 1.2
B = B * 10
Label2 = B 'esto me da 10 y deveria dar 12
B = 1.2
A = B * 10 / 100
Label1.Caption = A 'esto me da 0 y deberia dar 0.25
Label3.Caption = 1.2 * 0.5 / 100 ' esto si funciona
End Sub
pero porque cuando lo hago con variables no lo hace,talves yo pienso que tendria que ser asi ..pero no lo es
alguien sabe cual es el problema?
Lo que pasa es que los números que son decimales debes declararlos como Single y no como Integer, o si no te recorta la parte decimal. Por eso que 1.2 * 10 te da 10 y no 12, ya que en el fondo estás multiplicando 1*10
Lo mismo ocurre con el label1, te recorta el decimal y te queda en cero.
Para el caso del label3 no hay problema ya que la multiplicación sà te da un número entero.
Prueba cambiar el tipo de variable a Single y en la propiedad format del label puedes definir el número de decimales que quieres que muestre.
Saludos!
Bartolom
Chile
Lo mismo ocurre con el label1, te recorta el decimal y te queda en cero.
Para el caso del label3 no hay problema ya que la multiplicación sà te da un número entero.
Prueba cambiar el tipo de variable a Single y en la propiedad format del label puedes definir el número de decimales que quieres que muestre.
Saludos!
Bartolom
Chile
Bueno muchachos, en primer lugar deben declarar las variables de tipo double y no integer o single (por los decimales)
todo programa debe trabajar bien con varialbles como sabran nunca un dato es unico y permanente en un sistema.
ejemplo
DIM A,B,C as Double
A=1.2
B=10
C=(A*B)/100 'RESULTADO 0.12 ES CORRECTO
LABEL1=C
y eso es todo asi de censillo. A*B/100, esto me darÃa
procuren encerrar en () cada operación y recuerden que la primera operacion que se ejecuta es la suma luego la resta y luego la multiplicacion y fnalmente la /
todo programa debe trabajar bien con varialbles como sabran nunca un dato es unico y permanente en un sistema.
ejemplo
DIM A,B,C as Double
A=1.2
B=10
C=(A*B)/100 'RESULTADO 0.12 ES CORRECTO
LABEL1=C
y eso es todo asi de censillo. A*B/100, esto me darÃa
procuren encerrar en () cada operación y recuerden que la primera operacion que se ejecuta es la suma luego la resta y luego la multiplicacion y fnalmente la /
bueno Eduardo, la declaración de las variables que has hecho está muy bien programando en C++, pero en Visual Basic lo que has declarado son
únicamente C de tipo Double
A y B son de tipo Variant
Para declarar las tres como Double en una lÃnea puedes hacerlo asÃ:
Dim A As Double, B As Double, C As Double
Saludos.
únicamente C de tipo Double
A y B son de tipo Variant
Para declarar las tres como Double en una lÃnea puedes hacerlo asÃ:
Dim A As Double, B As Double, C As Double
Saludos.
