Foros del Web » Programación para mayores de 30 ;) » .NET »

Problema al realizar una operacion.

Estas en el tema de Problema al realizar una operacion. en el foro de .NET en Foros del Web. Hola que tal amigos, disculpen pero tengo un problema que llevo ya 1 dia tratando de conseguirlo y no sale les explico. Estoy realizando un ...
  #1 (permalink)  
Antiguo 20/12/2010, 20:40
Avatar de slaxsna  
Fecha de Ingreso: diciembre-2010
Ubicación: Tampico
Mensajes: 38
Antigüedad: 14 años
Puntos: 3
Problema al realizar una operacion.

Hola que tal amigos, disculpen pero tengo un problema que llevo ya 1 dia tratando de conseguirlo y no sale les explico.

Estoy realizando un punto de venta en el cual tengo mi FormVentas donde añado todos los productos que tengo en mi base de datos MySQL a un listview, al presionar F3 sale un nuevo Form donde realizare el cobro de la venta.

En mi FormCobrar tengo 1 label que me imprime el Subtotal esto lo consigo poniendo en mi FormVentas esta linea de codigo

Cobrar.lblSubTotal.Text = lbLSubTotal.Text

Para que cuando se abra el FormCobrar aparezca el subtotal, en mi FormCobrar tambien tengo un textbox donde pondre la cantidad con que el cliente ha pagado y un label mas para que me de la feria o el cambio.

Este es mi código en el FormCobrar
Código PHP:
If e.KeyCode Keys.Enter Then
            
Try
                
Dim cambio As Double
                
If txtRecibido.Text >= lblSubTotal.Text Then
                    cambio 
CDbl(txtRecibido.Text) - CDbl(lblSubTotal.Text)
                    
lblCambios.Text "$" Format(cambio"0.00")
                    
lblNota.ResetText()
                Else
                    
lblNota.Text "El efectivo ingresado es menor al monto a pagar."
                    
lblCambios.Text "0.00"
                    
txtRecibido.Focus()
                
End If
            Catch
                
MsgBox("Existe un error en el monto recibido. Verifique")
            
End Try
        
End If
        
txtRecibido.Focus() 
El problema es que cuando introduzca una cifra menor al subtotal me da el cambio en negativo aun asi aplicandole la condición. Pero solamante si introduzco del numero 2 al 9 y del 100 al 120 :s.


Si introduzco el 1,10,11,12,13 me sale asi como debe de ser


No entiendo que estoy haciendo mal, y si pongo en el textbox la cifra sin el signo de pesos si me da los resultados deseados las restas de cualquier numero que ponga, pero igual si es menor al subtotal me sigue poniendo negativo.



No se si me entiendan ahí pueden ver las imagenes, me gustaria que si me puedan asesorar, muchas gracias por leerme.
  #2 (permalink)  
Antiguo 21/12/2010, 07:16
Avatar de devilinside  
Fecha de Ingreso: marzo-2008
Ubicación: En Perú
Mensajes: 73
Antigüedad: 16 años, 9 meses
Puntos: 6
Respuesta: Problema al realizar una operacion.

Cita:
If e.KeyCode = Keys.Enter Then
Try
Dim cambio As Double
If CDbl(txtRecibido.Text) >= CDbl(lblSubTotal.Text) Then
cambio = CDbl(txtRecibido.Text) - CDbl(lblSubTotal.Text)
lblCambios.Text = "$" & Format(cambio, "0.00")
lblNota.ResetText()
Else
lblNota.Text = "El efectivo ingresado es menor al monto a pagar."
lblCambios.Text = "0.00"
txtRecibido.Focus()
End If
Catch
MsgBox("Existe un error en el monto recibido. Verifique")
End Try
End If
txtRecibido.Focus()
No deberías permitir ingresar el símbolo "$" en tu caja de texto. Recuerda que estás trabajando con datos numéricos y antes de compararlos como números debes realizar la conversión, de otra forma estarás comparando cadenas.

Saludos.
  #3 (permalink)  
Antiguo 21/12/2010, 15:12
Avatar de Aquaventus  
Fecha de Ingreso: junio-2010
Ubicación: Lima-Peru , En el alba de la naturaleza
Mensajes: 2.105
Antigüedad: 14 años, 5 meses
Puntos: 267
Respuesta: Problema al realizar una operacion.

totalmente deacuerdo con devilinside, debes tener cuidado con el manejo de datos, verificar que lo numerico sea numerico en tus procesos y la cadena cadena, tu problema ahi es que no lo conviertes a numerico el texto.
  #4 (permalink)  
Antiguo 21/12/2010, 16:31
Avatar de slaxsna  
Fecha de Ingreso: diciembre-2010
Ubicación: Tampico
Mensajes: 38
Antigüedad: 14 años
Puntos: 3
Respuesta: Problema al realizar una operacion.

Muchisimas gracias por responder

devilinside
Aquaventus

Tan facil que era haha pero bueno tengo poco con vb.net que igual manera es pura logica pero se me fue...

Aqui dejo como solucione el problema

Código PHP:
If e.KeyCode Keys.Enter Then
            
Try
                
Dim cambio As Double
                Dim recibido 
As Double CDbl(txtRecibido.Text// Convertirlo a double
                
Dim total As Double CDbl(lblSubTotal.Text// Convertirlo a double

                
If recibido >= total Then
                    cambio 
CDbl(recibido) - CDbl(total)
                    
lblCambios.Text "$" Format(cambio"0.00")
                    
lblNota.ResetText()
                Else
                    
lblNota.Text "El efectivo ingresado es menor al monto a pagar. Verifique"
                    
lblCambios.Text "$0.00"
                    
txtRecibido.Focus()
                
End If
            Catch
                
MsgBox("Existe un error en el monto recibido. Verifique")
            
End Try
        
End If 

Etiquetas: operacion, realizar
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:16.