Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 1 de 2
Ir a la página 1, 2  Siguiente
 
Problema Al Multiplicar 2 Valores
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje Problema Al Multiplicar 2 Valores 
 
Hola chic@s, el titulo lo dice todo no puedo Multiplicar 2 valores os pongo una captura y el codigo haber si me podeis echar una mano, la cuestión es que necesito multiplicar numeros con varios decimales.

Public Sub TxtTxtPrecio_LostFocus()

  ValueSubtotal.Text = (CFloat(TxtUnidades.Text) * CFloat(TxtTxtPrecio.Text))

End

captura
 



 
desoljor - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Problema Al Multiplicar 2 Valores 
 
desoljor:

Citar:
ValueSubtotal.Text = (CFloat(TxtUnidades.Text) * CFloat(TxtTxtPrecio.Text))

¿que tipo de control es el ValueSubtotal? ¿un valuebox? ¿o un textbox?

Los tipos de datos no se pueden mezclar, si son numeros no los puedes asignar a un texto.

Existen funciones como Str() o Val(), que hacen la conversión entre numeros a texto y de texto a numeros.

http://cursogambas.blogspot.com.es/...n-tipos-de.html

Saludos
 




===================
Blog personal
Web: SoloGambas seleccion de articulos dedicados a Gambas
Visita el Curso de Gambas3 ¡¡¡Gratuito!!!
 
jsbsan - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Problema Al Multiplicar 2 Valores 
 
Creo que lo mas adecuado es usar un ValueBox con el tipo número si sabes que son número.

De todas maneras he probado un ejemplo que sumo dos cajas de texto. El problema que me encuentro es el habitual de la coma al sumar una
caja de texto. Lo que le interesa al convertir a Floats es que haya un punto y no una coma.

Private cajasdetexto As Object[]

Public Sub btnSumar_Click()
  
ComprobarDecimal()
lbResultado.Text = CFloat(txtVal1.Text) + CFloat(txtVal2.Text)

End


Public Sub Form_Open()

  cajasdetexto = [txtVal1, txtVal2]
  
End

Public Sub ComprobarDecimal()
  
  Dim ctexto As Object
  
  For Each ctexto In cajasdetexto
    If ctexto Is TextBox Then
      If InStr(ctexto.Text, ",") Then ctexto.text = Replace(ctexto.text, ",", ".")      
    Endif  
  Next
  
End
 


Supongo que el problema de operaciones matemáticas con caja de textos serán parecidos. ( Los decimales )

Aunque TextBox pueda dar mucho juego, en algunos momentos es mejor usa un ValueBox.
A menos que se quiera un TextBox por muchos motivos.

Julio:

Ya no somos tan jóvenes para estas cosas.  
Ves que el nombre del componente donde va almacenar acaba en .txt. Entonces ya ves que es un TextBox.
Si hubiera sido un ValueBox hubiera sido .value.

Pero es que es muy normal por la mañana. Yo no soy persona hasta que no tomo un café.  

Lo cierto es que tiende a confusión nombrar a la caja de texto...Value...

Saludos
 




===================
Gambas Básico
"No es un bug, es una característica no documentada"
 
última edición por Shell el Miercoles, 06 Enero 2016, 13:27; editado 2 veces 
Shell - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Problema Al Multiplicar 2 Valores SOLUCIONADO 
 
Gracias a todos la solucion la tenia delante de las narices pero despues de pasarme la noche delante del teclado no conseguia verla era tan sencilla como esto

ValueSubtotal.Text = (TxtUnidades.Value * CFloat(TxtTxtPrecio.Text))
 



 
desoljor - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Problema Al Multiplicar 2 Valores 
 
Gustaría entender también a nosotros.
Puedes responder a la pregunta de jsbsan ?

¿que tipo de control es el ValueSubtotal?

y tambien que son TxtUnidades y TxtTxtPrecio.
 



 
última edición por vuott el Jueves, 07 Enero 2016, 00:03; editado 4 veces 
vuott - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Problema Al Multiplicar 2 Valores 
 
La verdad es que es raro que no se muestren decimales en ValueSubtotal.Text
 




===================
Gambas Básico
"No es un bug, es una característica no documentada"
 
Shell - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Problema Al Multiplicar 2 Valores 
 
desoljor

Citar:
la solucion la tenia delante


ValueSubtotal.Text = (TxtUnidades.Value * CFloat(TxtTxtPrecio.Text))


La solución que expones no vale en todos los casos, mete valores decimales en los dos sitios, y dará problemas...
 




===================
Blog personal
Web: SoloGambas seleccion de articulos dedicados a Gambas
Visita el Curso de Gambas3 ¡¡¡Gratuito!!!
 
jsbsan - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Problema Al Multiplicar 2 Valores 
 
Pues a mi no me da problemas con el código que os he mostrado. Solo he tenido que cambiar
el tipo de operación por multiplicar y para que el resultado se mostrase en una caja de texto ,
quite la etiqueta y puse una caja de texto.  

 productoentextboxes

Prácticamente sustituye la coma por el punto antes de realizar la operación, solo eso.

Saludos
 




===================
Gambas Básico
"No es un bug, es una característica no documentada"
 
última edición por Shell el Jueves, 07 Enero 2016, 09:50; editado 1 vez 
Shell - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Problema Al Multiplicar 2 Valores 
 
Shell:

Citar:
Prácticamente sustituye la coma por el punto antes de realizar la operación, solo eso.

¿te parece poco?
 Internamente para manejar un número decimal, se va usar la "," y no el punto. Cuando intente añadir o emplearlo en otra cosa, se formará un follón y no sabrá que esta fallando....

Lo mejor es hacerlo bien: usando funciones de conversión de tipos de datos, asi nunca tendrá problemas.

Saludos
 




===================
Blog personal
Web: SoloGambas seleccion de articulos dedicados a Gambas
Visita el Curso de Gambas3 ¡¡¡Gratuito!!!
 
jsbsan - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Problema Al Multiplicar 2 Valores 
 
Shell, tu programa fallará si se ejecuta en un sistema en otro idioma, porque la representación del punto decimal puede ser diferente según el idioma. Casualmente en nuestro sistema es el punto, pero los ingleses o americanos por ejemplo, lo representan con la coma (si mal no recuerdo).

Hay que usar funciones de conversión que tengan en cuenta la localización del sistema (entendiendo por localización la representación de los números, monedas, etc según el idioma).

Saludos
 




===================
Jesús Guardón

Por favor, usemos el corrector ortográfico antes de pulsar el botón "Enviar".

"uo ǝs ʇɐu pıɟıɔıן ɐdɹǝupǝɹ ɐ dɹoƃɹɐɯɐɹ, soןo ɥɐʎ bnǝ dɹodouǝɹsǝןo"
 
jguardon - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Mostrar mensajes anteriores:    
 
OcultarTemas parecidos
Tema Autor Foro Respuestas último mensaje
No hay nuevos mensajes Guardar 10 Valores A La Vez KTKL Controles/Librerías/Componentes 5 Viernes, 25 Noviembre 2011, 21:47 Ver último mensaje
jsbsan
No hay nuevos mensajes Obtener Valores De PictureBox Erik Gasca Controles/Librerías/Componentes 8 Martes, 04 Junio 2013, 07:38 Ver último mensaje
jsbsan
No hay nuevos mensajes Problema Al Asignar Valores A Un Array (SO... whisper Aplicaciones/Fragmentos de Código 2 Martes, 13 Septiembre 2016, 02:04 Ver último mensaje
whisper
No hay nuevos mensajes Valores Exactos En Replace calcena General 13 Sabado, 14 Octobre 2017, 23:29 Ver último mensaje
tincho
 

Publicar nuevo tema  Responder al tema  Página 1 de 2
Ir a la página 1, 2  Siguiente

Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado
Usuarios registrados conectados: Ninguno


 
Lista de permisos
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario



  

 

cron