elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Guía rápida para descarga de herramientas gratuitas de seguridad y desinfección


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP) (Moderador: kub0x)
| | | |-+  Sumar dos Textbox
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: Sumar dos Textbox  (Leído 12,721 veces)
SγиtαxEяяoя

Desconectado Desconectado

Mensajes: 154


Ver Perfil
Sumar dos Textbox
« en: 13 Junio 2013, 20:40 pm »

Estoy intentando hacer esto

Código
  1. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
  2.        TextBox3.Text = Val(TextBox1.Text) + Val(TextBox2.Text)
  3.    End Sub



Pero cuando sumo de esta forma  8.000 + 2.000 = 10



lo que quiero es que al sumar este separa las unidades



« Última modificación: 13 Junio 2013, 20:42 pm por SγиtαxEяяoя » En línea

SγиtαxEяяoя

Desconectado Desconectado

Mensajes: 154


Ver Perfil
Re: Sumar dos Textbox
« Respuesta #1 en: 13 Junio 2013, 20:45 pm »

Encontre algo como esto

Citar
Private Sub cmdactualizar_Click()
'total = Val(valor1) + Val(valor2) + Val(valor3) + Val(valor4) + Val(valor5) + Val(valor6) + Val(valor7) + Val(valor8)

'valor1 = Mid(txtpeajescelco, 2, Len(txtpeajescelco)) ' captamos el valor de txt1 a partir de "$"
'valor2 = Mid(txtpeajesotros, 2, Len(txtpeajesotros)) ' captamos el valor de txt2 a partir de "$"

'valor1 = Replace(valor1, ",", "") ' borramos las comas de valor1
'valor2 = Replace(valor2, ",", "") ' borramos las comas de valor 2

total = Val(valor1) + Val(valor2)
'txttotal = Format(total, "#,#0.00")

txttotal.Text = Format(total, "#,##0.00")
'no importa que aparezca el signo de dinero "$#,##0.00"
End Sub

Private Sub txtpeajescelco_Change()
valor1 = Format(txtpeajescelco.Text, "#,#0.00")
End Sub

Private Sub txtpeajescelco_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
KeyAscii = 0
SendKeys "{tab}"
valor1 = Format(txtpeajescelco.Text, "#,#0.00")
txtpeajescelco.Text = valor1
End If
End Sub

Private Sub txtpeajescelco_LostFocus()
valor1 = Format(txtpeajescelco.Text, "#,#0.00")
txtpeajescelco.Text = valor1
End Sub

Private Sub txtpeajesotros_Change()
valor2 = Format(txtpeajesotros.Text, "#,#0.00")
End Sub

Private Sub txtpeajesotros_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
KeyAscii = 0
SendKeys "{tab}"
valor2 = Format(txtpeajesotros.Text, "#,#0.00")
txtpeajesotros.Text = valor2
End If
End Sub

Private Sub txtpeajesotros_LostFocus()
valor2 = Format(txtpeajesotros.Text, "#,#0.00")' no importa el signo dinero
txtpeajesotros.Text = valor2
End Sub
Bueno en tiempo de ejecucion ingreso los datos en las respectivas cajas de texto me aparece asi:
text1
1.000,00
text2
1.000,00
pero en la suma
aparece
2,00
no suma los valores después del punto, o sea toma por defecto los valores en unidad...


En línea

Saberuneko


Desconectado Desconectado

Mensajes: 2.194



Ver Perfil WWW
Re: Sumar dos Textbox
« Respuesta #2 en: 13 Junio 2013, 20:45 pm »

Creo que lo que te ocurre es que está tomándose el punto como una coma, interpretando tus números como 8+2.

Para poder meter de por medio los puntos, supongo que tendrías que trabajar con cadenas...

No recuerdo muy bien como tiraba todo ahora mismo, así que no sé decirte ahora mismo...
En línea

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.878



Ver Perfil
Re: Sumar dos Textbox
« Respuesta #3 en: 13 Junio 2013, 20:58 pm »

Como te han dicho, ese es el problema.

Al formatear el número se convierte a decimal, y los ceros a la derecha de la coma se eliminan,
Es decir, cuando escribes "2.000", se formatea a "2,000", y eso se representa como un "2" al ser Entero, y eso es lo que sumas, el "2".

¿Verdad que si escribes en los textboxes "2.001" si que te funciona corréctamente?

En fin debes manejar los tipos de números "Double" al sumar ese tipo de números:

Código
  1. TextBox3.Text = FormatNumber(Convert.ToDouble(TextBox1.Text) + Convert.ToDouble(TextBox2.Text), TriState.False)

PD: Primero debes detectar si el string contiene puntos o comas para manejar el resto de números como "Long" (aka Int64) :)

Saludos.


EDITO:

No es perfecto, si intentas sumar "2.00" se reconoce como "200", pero bueno, solo es para mostrarte, eso ya lo mejoras tú...

Código
  1. Public Class Form1
  2.  
  3.    Dim num1 As Object
  4.    Dim num2 As Object
  5.  
  6.    Private Sub TextBox1_TextChanged(sender As Object, e As EventArgs) Handles TextBox1.TextChanged
  7.        If sender.Text.Contains(".") Then _
  8.             num1 = Convert.ToDouble(sender.Text) _
  9.        Else num1 = Convert.ToInt64(sender.Text)
  10.    End Sub
  11.  
  12.    Private Sub TextBox2_TextChanged(sender As Object, e As EventArgs) Handles TextBox2.TextChanged
  13.        If sender.Text.Contains(".") Then _
  14.             num2 = Convert.ToDouble(sender.Text) _
  15.        Else num2 = Convert.ToInt64(sender.Text)
  16.    End Sub
  17.  
  18.    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
  19.        TextBox3.Text = FormatNumber(num1 + num2, TriState.False)
  20.    End Sub
  21.  
  22. End Class
  23.  
« Última modificación: 13 Junio 2013, 21:19 pm por EleKtro H@cker » En línea



SγиtαxEяяoя

Desconectado Desconectado

Mensajes: 154


Ver Perfil
Re: Sumar dos Textbox
« Respuesta #4 en: 13 Junio 2013, 21:47 pm »

Este funciono a la perfeccion

Código
  1. TextBox3.Text = FormatNumber(Convert.ToDouble(TextBox1.Text) + Convert.ToDouble(TextBox2.Text), TriState.False)

y si lo quiero pasar a un decimal debo usar de esta manera

Código
  1. Public Sub Convert_Decimal(ByVal decimalVal As Decimal)
  2.  
  3.        Dim doubleVal As Double
  4.  
  5.        doubleVal = System.Convert.ToDouble(decimalVal)
  6. End Sub
  7.  

Código
  1. Dim num1 As Double = 2000
  2. Dim num2 As Double = 500
  3. Dim sum As Double = num1 + num2
  4.  
  5. MsgBox(sum.ToString("0.00"))
  6.  
  7.  
« Última modificación: 13 Junio 2013, 21:57 pm por SγиtαxEяяoя » En línea

z3nth10n


Desconectado Desconectado

Mensajes: 1.583


"Jack of all trades, master of none." - Zenthion


Ver Perfil WWW
Re: Sumar dos Textbox
« Respuesta #5 en: 14 Junio 2013, 07:43 am »

Y no es tan sencillo como:

Código
  1. Dim textbox1 As String = textbox1.text
  2. Dim textbox2 As String = textbox2.text
  3. Dim resultado As Integer = textbox1 + textbox2

no?

No lo he probado pero se suponeq eu tiene que funcionar. :P

Un saludo.

PD: No había leido el formato numérico. :P

Encontre esto por ahí:

Código
  1. Format(cantidad, “##,##0.00″)
  2. cantidad.ToString(“##,##0.00″)

Aunque bueno si está resuelto, pos ná. :P
« Última modificación: 14 Junio 2013, 07:48 am por Ikillnukes » En línea


Interesados hablad por Discord.
Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.878



Ver Perfil
Re: Sumar dos Textbox
« Respuesta #6 en: 14 Junio 2013, 07:52 am »

Y no es tan sencillo como:

Código
  1. Dim textbox1 As String = textbox1.text
  2. Dim textbox2 As String = textbox2.text
  3. Dim resultado As Integer = textbox1 + textbox2

no?

No, por esta razón:
Es decir, cuando escribes "2.000", se formatea a "2,000", y eso se representa como un "2" al ser Entero, y eso es lo que sumas, el "2".

Si lo declaras como entero se eliminan los ceros de la derecha, y "2.000" pasa a ser un simple "2".
En línea



z3nth10n


Desconectado Desconectado

Mensajes: 1.583


"Jack of all trades, master of none." - Zenthion


Ver Perfil WWW
Re: Sumar dos Textbox
« Respuesta #7 en: 14 Junio 2013, 07:53 am »

Anda xD Pues ale, cada día se aprende algo nuevo no? :P

Syntax, pues ponle un Double tal como tenías. :P
En línea


Interesados hablad por Discord.
SγиtαxEяяoя

Desconectado Desconectado

Mensajes: 154


Ver Perfil
Re: Sumar dos Textbox
« Respuesta #8 en: 14 Junio 2013, 07:54 am »

Anda xD Pues ale, cada día se aprende algo nuevo no? :P

Syntax, pues ponle un Double tal como tenías. :P

Creo que se me olvido decir, QUE YA ESTA RESUELTO...
En línea

z3nth10n


Desconectado Desconectado

Mensajes: 1.583


"Jack of all trades, master of none." - Zenthion


Ver Perfil WWW
Re: Sumar dos Textbox
« Respuesta #9 en: 14 Junio 2013, 07:55 am »

Creo que se me olvido decir, QUE YA ESTA RESUELTO...


JOSJOSJOS!

Citar
Aunque bueno si está resuelto, pos ná. :P

Capichi? xD Encima to que quiero ayudar, que borde.... :P
En línea


Interesados hablad por Discord.
Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
tomar de un textbox, cambiar y pegar en otro textbox
Programación Visual Basic
Nakp 9 5,447 Último mensaje 2 Septiembre 2006, 18:42 pm
por Nakp
Sumar eax i ebx
ASM
E.P.I. 8 7,063 Último mensaje 26 Marzo 2010, 22:45 pm
por [Zero]
¿Como crear un textbox y grabar lo que se puse en tal textbox en visual basic 8?
Programación Visual Basic
El anonimato 3 6,823 Último mensaje 25 Noviembre 2010, 16:10 pm
por NightMore
sumar wifis
Hacking Wireless
draeq 5 4,461 Último mensaje 11 Noviembre 2012, 23:18 pm
por P4nd3m0n1um
[Ayuda]Sumar elementos de un listBox y mostrarlos en un textBox
Programación C/C++
Beaustyle 1 7,766 Último mensaje 16 Junio 2013, 00:55 am
por aguml
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines