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

 

 


Tema destacado: Introducción a la Factorización De Semiprimos (RSA)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  [Duda] No entiendo el Val y Str
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [Duda] No entiendo el Val y Str  (Leído 3,793 veces)
Dreamaker

Desconectado Desconectado

Mensajes: 277



Ver Perfil
[Duda] No entiendo el Val y Str
« en: 13 Abril 2010, 04:12 am »

Hola chicos, bueno vengo a postear esta duda porque hoy en la clase del colegio de laboratorio en VB 6 hicimos una calculadora que constaba de 2 textboxes donde se ingresaban 2 números, un botón llamado sumar donde se insertaba el código, y un label donde se mostraba el resultado final de la operación, les dejo el código:

Código
  1. Private Sub cmdBoton1_Click()
  2. Dim sngX As Single, sngY As Single, sngResult As Single
  3. 'Carga de datos
  4.  
  5. sngX = Val(txtValor1.Text)  'El textbox Nº1 donde se ingresa el primer numero se llama txtValor1
  6. sngY = Val(txtValor2.Text)  'El textbox Nº2 donde se ingresa el primer numero se llama txtValor2
  7. 'Calculo de la suma
  8.  
  9. sngResult = sngX / sngY
  10. lblSalida.Caption = Str(sngResult)
  11. End Sub

Mi prof dijo que no era lo mismo poner sngX = Val (txtValor1.Text) que poner sngX = txtValor1.Text ya que en el 2do caso estaría guardando en la variable el cartel del contenido del textbox (el número) pero no como número sino como un string, y se le pone el val para que lo convierta en número

Después en lblSalida.Caption lo mismo, pone lblSalida.Caption = Str (sngResult) en vez de lblSalida.Caption = sngResult que dice que aunque llegue a funcionar no está bien, porque el resultado lo tiene que convertir a caracteres osea de tipo string

La verdad no le entendí nada por qué usa el Val y el Str ya que yo pensaba que era lo mismo sin ponerlos, les pido por favor si me pudieran explicar el por qué y la diferencia

Muchisimas gracias ;)


« Última modificación: 13 Abril 2010, 04:17 am por Dreamaker » En línea

Shell Root
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.723


<3


Ver Perfil WWW
Re: [Duda] No entiendo el Val y Str
« Respuesta #1 en: 13 Abril 2010, 04:22 am »

Supongamos que alguien realice estó:
Código
  1. Text1.Text = a + 1
Obviamente daria error, pero que pasa si realiza estó
Código
  1. Text1.Text = VAL(a)  + VAL(1)
Inmediatamente la función Val() deja de leer la cadena en el primer carácter que no puede reconocer como parte de un número. Así que por esté lado, seria como parte de algun mmm digamos verificación de datos.




Ahora que pasa con la función str(), seria al contrario, supongamos que estamos dando un parametro para un StoreProcedure, donde el parametro es obligatoriamente un String (Varchar), que pasa si por cosas de la vida, le ingresas un numero?, Daria error, por el tipo de dato.


En línea

Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.
GhostLT

Desconectado Desconectado

Mensajes: 82


To know the truth,you must risk everything


Ver Perfil
Re: [Duda] No entiendo el Val y Str
« Respuesta #2 en: 13 Abril 2010, 05:57 am »

La función Val convierte una cadena en un número
Ejemplo:

cadena = "123456"
cadena = Val(cadena)

La función Str un número en una cadena.
Ejemplo:

'Ahora cadena vale 123456

cadena2 = 123456
cadena2 = Str(cadena2)

'Ahora cadena2 vale "123456"
En línea

There is some fiction in you truth, and some truth in you fiction
BlackZeroX
Wiki

Desconectado Desconectado

Mensajes: 3.158


I'Love...!¡.


Ver Perfil WWW
Re: [Duda] No entiendo el Val y Str
« Respuesta #3 en: 13 Abril 2010, 06:41 am »

Text1.Text = a + 1

eso no da error eso da como resultado 1 y si a fuese asi un string que contiene algo solo lo concatena con el 1 al final.

Text1.Text = VAL(a)  + VAL(1)

No tiene caso poner val(1) 1 se etiende como numero siempre y cuando no este entre comillas o en una vairable tipo string variant o similar

Ducles Lunas!¡.
En línea

The Dark Shadow is my passion.
Dreamaker

Desconectado Desconectado

Mensajes: 277



Ver Perfil
Re: [Duda] No entiendo el Val y Str
« Respuesta #4 en: 13 Abril 2010, 16:47 pm »

mmm todavía no lo termino de entender :-\ alguien tendrá con algún ejemplo para entenderlo mejor?

Muchas gracias! ;D
En línea

Novlucker
Ninja y
Colaborador
***
Desconectado Desconectado

Mensajes: 10.683

Yo que tu lo pienso dos veces


Ver Perfil
Re: [Duda] No entiendo el Val y Str
« Respuesta #5 en: 13 Abril 2010, 16:53 pm »

Mi dios! Si entiendes que hay diferentes tipos de variables? :huh:

Piensa que no puedes sumar una letra y un número, y para eso tienes que convertirlos, así como también tienes que convertir las variables para poder utilizarlas en determinados lugares, ya que si tienes un lugar (el caption por ejemplo) que acepta letras y tu le quieres meter un número es lógico que se "parta".

Ahora queda claro verdad?

Saludos


« Última modificación: 13 Abril 2010, 17:07 pm por Novlucker » En línea

Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD
"Hay dos cosas infinitas: el Universo y la estupidez  humana. Y de la primera no estoy muy seguro."
Albert Einstein
Dreamaker

Desconectado Desconectado

Mensajes: 277



Ver Perfil
Re: [Duda] No entiendo el Val y Str
« Respuesta #6 en: 13 Abril 2010, 17:02 pm »

Mi dios! Si entiendes que hay diferentes tipos de variables? :huh:

Piensa que no puedes sumar una letra y un número, y para eso tienes que convertirlos, así como también tienes que convertir las variables para poder utilizarlas en determinados lugares, ya que si tienes un lugar (el caption por ejemplo) que acepta letras y tu le quieres meter un número es lógico que se "parta".

Ahora queda claro verdad?

Saludos




Tranquilo nov :xD

Si mal no entendí es para que si se pone "5" no lo tome como un string o cadena de caracteres si no como un número, ahora si el usuario ingresa una letra, ¿En qué lo transforma? Si no lo puede transformar en número...

Suponiendo que en las casillas donde hay que ingresar números, coloca X y en la otra Y y los tiene que sumar, si no estuviera el val los concatenaría como XY verdad??

Y si está el Val que haría al ingresar esas 2 letras?

Probé con este código y funciona igual :huh:

Código
  1. Private Sub Command1_Click()
  2. Dim sngX As Single, sngY As Single, sngresult As Single
  3. sngX = Text1.Text
  4. sngY = Text2.Text
  5. sngresult = sngX + sngY
  6. Label1.Caption = sngresult
  7. End Sub
« Última modificación: 13 Abril 2010, 17:08 pm por Dreamaker » En línea

Novlucker
Ninja y
Colaborador
***
Desconectado Desconectado

Mensajes: 10.683

Yo que tu lo pienso dos veces


Ver Perfil
Re: [Duda] No entiendo el Val y Str
« Respuesta #7 en: 13 Abril 2010, 17:14 pm »

Eso mismo.

Ahora, eso que preguntas te lo puedes responder tu mismo, solo tienes que probar, y si, las letras sin el val se concatenan, y las letras que no pueden ser evaluadas como números valen cero.

X = "5"
Y = "a"

X + Y = 5a
val(X) + val(Y) = 5 + 0 = 5

Saludos

En línea

Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD
"Hay dos cosas infinitas: el Universo y la estupidez  humana. Y de la primera no estoy muy seguro."
Albert Einstein
Dreamaker

Desconectado Desconectado

Mensajes: 277



Ver Perfil
Re: [Duda] No entiendo el Val y Str
« Respuesta #8 en: 13 Abril 2010, 23:16 pm »

Eso mismo.

Ahora, eso que preguntas te lo puedes responder tu mismo, solo tienes que probar, y si, las letras sin el val se concatenan, y las letras que no pueden ser evaluadas como números valen cero.

X = "5"
Y = "a"

X + Y = 5a
val(X) + val(Y) = 5 + 0 = 5

Saludos



Excelente! Ahora ya lo entendí!!

Y con el Str ()? :)
En línea

Shell Root
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.723


<3


Ver Perfil WWW
Re: [Duda] No entiendo el Val y Str
« Respuesta #9 en: 14 Abril 2010, 01:06 am »

Ahora sí, lo que te decia con la manupulacion de datos, que pasan a la base de datos, tenes un campo que sea Varchar, es decir, String. Y quieres ingresar un numero en ese campo, pero que pasa si ingresar esté numero 1, al momento de ejecutar la Query, no te dejará (Eso creo), yá que el campo es Integer. Para lograr insertar ese campo en la base de datos, deberas convertir ese numero en String, asñi que usas la función Str().

Creo que eso seria un ejemplo de como usar esa función.

Saludos!
En línea

Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines