Autor
|
Tema: Sumar dos Textbox (Leído 12,721 veces)
|
SγиtαxEяяoя
Desconectado
Mensajes: 154
|
Estoy intentando hacer esto Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click TextBox3.Text = Val(TextBox1.Text) + Val(TextBox2.Text) 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
Mensajes: 154
|
Encontre algo como esto 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
|
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
Mensajes: 9.878
|
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: 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ú... Public Class Form1 Dim num1 As Object Dim num2 As Object Private Sub TextBox1_TextChanged(sender As Object, e As EventArgs) Handles TextBox1.TextChanged If sender.Text.Contains(".") Then _ num1 = Convert.ToDouble(sender.Text) _ Else num1 = Convert.ToInt64(sender.Text) End Sub Private Sub TextBox2_TextChanged(sender As Object, e As EventArgs) Handles TextBox2.TextChanged If sender.Text.Contains(".") Then _ num2 = Convert.ToDouble(sender.Text) _ Else num2 = Convert.ToInt64(sender.Text) End Sub Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click TextBox3.Text = FormatNumber(num1 + num2, TriState.False) End Sub End Class
|
|
« Última modificación: 13 Junio 2013, 21:19 pm por EleKtro H@cker »
|
En línea
|
|
|
|
SγиtαxEяяoя
Desconectado
Mensajes: 154
|
Este funciono a la perfeccion 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 Public Sub Convert_Decimal(ByVal decimalVal As Decimal) Dim doubleVal As Double doubleVal = System.Convert.ToDouble(decimalVal) End Sub
Dim num1 As Double = 2000 Dim num2 As Double = 500 Dim sum As Double = num1 + num2 MsgBox(sum.ToString("0.00"))
|
|
« Última modificación: 13 Junio 2013, 21:57 pm por SγиtαxEяяoя »
|
En línea
|
|
|
|
z3nth10n
Desconectado
Mensajes: 1.583
"Jack of all trades, master of none." - Zenthion
|
Y no es tan sencillo como: Dim textbox1 As String = textbox1.text Dim textbox2 As String = textbox2.text Dim resultado As Integer = textbox1 + textbox2
no? No lo he probado pero se suponeq eu tiene que funcionar. Un saludo. PD: No había leido el formato numérico. Encontre esto por ahí: Format(cantidad, “##,##0.00″) cantidad.ToString(“##,##0.00″)
Aunque bueno si está resuelto, pos ná.
|
|
« Última modificación: 14 Junio 2013, 07:48 am por Ikillnukes »
|
En línea
|
⏩ Interesados hablad por Discord.
|
|
|
Eleкtro
Ex-Staff
Desconectado
Mensajes: 9.878
|
Y no es tan sencillo como: Dim textbox1 As String = textbox1.text Dim textbox2 As String = textbox2.text 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
Mensajes: 1.583
"Jack of all trades, master of none." - Zenthion
|
Anda xD Pues ale, cada día se aprende algo nuevo no? Syntax, pues ponle un Double tal como tenías.
|
|
|
En línea
|
⏩ Interesados hablad por Discord.
|
|
|
SγиtαxEяяoя
Desconectado
Mensajes: 154
|
Anda xD Pues ale, cada día se aprende algo nuevo no? Syntax, pues ponle un Double tal como tenías. Creo que se me olvido decir, QUE YA ESTA RESUELTO...
|
|
|
En línea
|
|
|
|
z3nth10n
Desconectado
Mensajes: 1.583
"Jack of all trades, master of none." - Zenthion
|
Creo que se me olvido decir, QUE YA ESTA RESUELTO...
JOSJOSJOS! Aunque bueno si está resuelto, pos ná. Capichi? xD Encima to que quiero ayudar, que borde....
|
|
|
En línea
|
⏩ Interesados hablad por Discord.
|
|
|
|
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
|
2 Septiembre 2006, 18:42 pm
por Nakp
|
|
|
Sumar eax i ebx
ASM
|
E.P.I.
|
8
|
7,063
|
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
|
25 Noviembre 2010, 16:10 pm
por NightMore
|
|
|
sumar wifis
Hacking Wireless
|
draeq
|
5
|
4,461
|
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
|
16 Junio 2013, 00:55 am
por aguml
|
|