Foros del Web » Programando para Internet » ASP Clásico »

Convertir variables alfanumericas a numericas

Estas en el tema de Convertir variables alfanumericas a numericas en el foro de ASP Clásico en Foros del Web. No consigo convertir variables alfanumericas a numericas, cuando lo intento con Cint o CDbl, me dice que no son compatibles, y es que con Isnumeric ...
  #1 (permalink)  
Antiguo 16/05/2007, 12:47
 
Fecha de Ingreso: marzo-2003
Mensajes: 83
Antigüedad: 22 años, 1 mes
Puntos: 0
Convertir variables alfanumericas a numericas

No consigo convertir variables alfanumericas a numericas, cuando lo intento con Cint o CDbl, me dice que no son compatibles, y es que con Isnumeric me dice que si son numericas, pero cuando intento compararlas entre si, lo hace como si fueran alfanumericas, alguien me puede echar una mano.
Gracias
  #2 (permalink)  
Antiguo 16/05/2007, 14:06
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 23 años, 3 meses
Puntos: 146
Re: Convertir variables alfanumericas a numericas

Si pones el fragmento del código, ejemplos de los valores, error exacto y en general más información que en realidad nos ayudaran a entender el problema, con mucho gusto.
  #3 (permalink)  
Antiguo 17/05/2007, 11:44
 
Fecha de Ingreso: marzo-2003
Mensajes: 83
Antigüedad: 22 años, 1 mes
Puntos: 0
Re: Convertir variables alfanumericas a numericas

Voy a intentar explicarlo:
-Por un lado tengo la variable "MIN_RENT_ANO", recogida de un formulario
MIN_RENT_ANO = Request.Form("RENT_ANO")
-y por otro lado otra variable, que es una subcadena de un campo de una base de datos, que voy recorriendo registro a registro
RENT_ANO = MID((CONEXION_COTIZACIONES.Fields.Item("RENTABILID AD EN EL AÑO").Value), 1, LEN((CONEXION_COTIZACIONES.Fields.Item("RENTABILID AD EN EL AÑO").Value))-1)
-Si yo trato estas variables individualmente como numericas no tengo problemas
MIN_RENT_ANO = (MIN_RENT_ANO * 2) '5 * 2 = 10
RENT_ANO = (RENT_ANO * 2) '15 * 2 = 30
ISNUMERIC(MIN_RENT_ANO) 'me dice verdadero
ISNUMERIC(RENT_ANO) 'me dice verdadero
-Pero si las comparo
If RENT_ANO >= MIN_RENT_ANO Then
-------
-------
End If
la comparacion la hace como variables alfanumericas
es decir si MIN_RENT_ANO ha cargado un valor de "5" y RENT_ANO ha cargado un valor de "15", para la comparacion MIN_RENT_ANO es mayor que RENT_ANO, lo cual no sucederia, si las variables fueran realmente numericas.
Si intento convertir las variables
CDbl(MIN_RENT_ANO)
CDbl(RENT_ANO)
Me dice "No coinciden los tipos: 'CDbl'"
No se si habre conseguido explicarlo, si necesitas algun dato mas dimelo
Gracias
  #4 (permalink)  
Antiguo 17/05/2007, 13:02
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 24 años, 2 meses
Puntos: 535
Re: Convertir variables alfanumericas a numericas

Lo único que se me ocurre es que en alguna de las dos variables te esté llegando un non-breaking space...

Verificá que no esté el caracter CHR(255) o el espacio que sale de la combinación de teclas ALT+255 (me parece que este último es el que hace tronar las cosas)
__________________
...___...
  #5 (permalink)  
Antiguo 17/05/2007, 17:12
 
Fecha de Ingreso: octubre-2005
Mensajes: 12
Antigüedad: 19 años, 6 meses
Puntos: 0
Re: Convertir variables alfanumericas a numericas

MIN_RENT_ANO_1=ISNUMERIC(MIN_RENT_ANO)
RENT_ANO=ISNUMERIC(RENT_ANO)
if MIN_RENT_ANO_1=True and RENT_ANO_1=True then
If RENT_ANO >= MIN_RENT_ANO Then

end if
end if

creo que te faltaba la comprobación del if IsNumeric=True, ya que por mucho que te de True o false continuas haciendo el IF RENT_ANO >= MIN_RENT_ANO then

Salu2 RK
  #6 (permalink)  
Antiguo 18/05/2007, 09:32
 
Fecha de Ingreso: marzo-2003
Mensajes: 83
Antigüedad: 22 años, 1 mes
Puntos: 0
Re: Convertir variables alfanumericas a numericas

No si ya tengo claro que no son variables numericas, pues con
If Isnumeric(REN_ANO) Then
no hace nada, pero es que tampoco me deja convertilas en numericas ni con "CDbl", ni con "Cint", pues como ya dije me lanza el error de "no coinciden los tipos"; ¿alguna idea?.
  #7 (permalink)  
Antiguo 18/05/2007, 09:35
 
Fecha de Ingreso: marzo-2003
Mensajes: 83
Antigüedad: 22 años, 1 mes
Puntos: 0
Re: Convertir variables alfanumericas a numericas

Quise decir "If Isnumeric(REN_ANO) = True Then"
  #8 (permalink)  
Antiguo 18/05/2007, 11:17
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 23 años, 3 meses
Puntos: 98
Re: Convertir variables alfanumericas a numericas

Necesitas poner tu formulario y el codigo donde recoges los valores, de otro modo es imposible adivinar que estas haciendo mal, if isNumeric(valor) o if isNumeric(valor) = true debe hacer lo mismo, ambos regresan un booleano.

Cuando pongas tu codigo por favor usa las etiquetas [C O D E]

Saludos
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #9 (permalink)  
Antiguo 20/05/2007, 12:49
 
Fecha de Ingreso: marzo-2003
Mensajes: 83
Antigüedad: 22 años, 1 mes
Puntos: 0
Re: Convertir variables alfanumericas a numericas

El formulario es el siguiente:
[C O D E]
<form action="seleccionar.asp" method="post" name="SELECCION" id="SELECCION">
<table width="100%" border="1">
<td><div align="right"><strong>MIN. RENT. A&Ntilde;O : </strong></div></td>
<td nowrap><input tabindex="1" name="RENT_ANO" type="text" id="RENT_ANO" value="5.00" size="2" maxlength="5">
%</td>
</tr>
<tr>
<td><div align="right"><strong>MIN. RENT. ANUAL : </strong></div></td>
<td nowrap><input tabindex="2" name="RENT_ANUAL" type="text" id="RENT_ANUAL" value="15.00" size="2" maxlength="5">
%</td>
</tr>
<tr>
<td colspan="2"><div align="center">
<input tabindex="3" name="SELECCIONAR" type="submit" id="SELECCIONAR" value="SELECCIONAR">
</div></td>
</tr>
</table>
</form>
[C O D E]
Y la carga de variables asi:
[C O D E]
MIN_RENT_ANO = Request.Form("RENT_ANO")
MIN_RENT_ANUAL = Request.Form("RENT_ANUAL")
RENT_ANO = MID((CONEXION_COTIZACIONES.Fields.Item("RENTABILID AD EN EL AÑO").Value), 1, LEN((CONEXION_COTIZACIONES.Fields.Item("RENTABILID AD EN EL AÑO").Value))-1)
RENT_ANUAL = MID((CONEXION_COTIZACIONES.Fields.Item("RENTABILID AD INTERANUAL").Value), 1, LEN((CONEXION_COTIZACIONES.Fields.Item("RENTABILID AD INTERANUAL").Value))-1)
[C O D E]
Y la comparacion como ya dije:
[C O D E]
If RENT_ANO >= MIN_RENT_ANO And RENT_ANUAL >= MIN_RENT_ANUAL Then
----
End If
[C O D E]
  #10 (permalink)  
Antiguo 20/05/2007, 14:32
Avatar de Shiryu_Libra
Colaborador
 
Fecha de Ingreso: febrero-2007
Ubicación: Cantando "Screenager" en "Kirafa Kaput"
Mensajes: 3.614
Antigüedad: 18 años, 2 meses
Puntos: 88
Re: Convertir variables alfanumericas a numericas

a que federico

CODE, pero sin espacios y el ultimo asi /CODE, encerrados con corchetes [,]
para que de este efecto
Código:
Variable=esa misma
__________________
"Eres parte del problema, parte de la solucion o parte del paisaje"
Un Saludo desde Desierto de Altar, Sonora, MX.
Shiryu_libra
  #11 (permalink)  
Antiguo 21/05/2007, 00:10
Avatar de Shiryu_Libra
Colaborador
 
Fecha de Ingreso: febrero-2007
Ubicación: Cantando "Screenager" en "Kirafa Kaput"
Mensajes: 3.614
Antigüedad: 18 años, 2 meses
Puntos: 88
Re: Convertir variables alfanumericas a numericas

por que utilizas espacios, al llamar los items???

Código PHP:
RENT_ANO MID((CONEXION_COTIZACIONES.Fields.Item("RENTABILID AD EN EL AÑO").Value), 1LEN((CONEXION_COTIZACIONES.Fields.Item("RENTABILID AD EN EL AÑO").Value))-1)
RENT_ANUAL MID((CONEXION_COTIZACIONES.Fields.Item("RENTABILID AD INTERANUAL").Value), 1LEN((CONEXION_COTIZACIONES.Fields.Item("RENTABILID AD INTERANUAL").Value))-1
__________________
"Eres parte del problema, parte de la solucion o parte del paisaje"
Un Saludo desde Desierto de Altar, Sonora, MX.
Shiryu_libra
  #12 (permalink)  
Antiguo 21/05/2007, 01:04
 
Fecha de Ingreso: marzo-2003
Mensajes: 83
Antigüedad: 22 años, 1 mes
Puntos: 0
Re: Convertir variables alfanumericas a numericas

Corregido:
El formulario es el siguiente:
[C O D E]
<form action="seleccionar.asp" method="post" name="SELECCION" id="SELECCION">
<table width="100%" border="1">
<td><div align="right"><strong>MIN. RENT. A&Ntilde;O : </strong></div></td>
<td nowrap><input tabindex="1" name="RENT_ANO" type="text" id="RENT_ANO" value="5.00" size="2" maxlength="5">
%</td>
</tr>
<tr>
<td><div align="right"><strong>MIN. RENT. ANUAL : </strong></div></td>
<td nowrap><input tabindex="2" name="RENT_ANUAL" type="text" id="RENT_ANUAL" value="15.00" size="2" maxlength="5">
%</td>
</tr>
<tr>
<td colspan="2"><div align="center">
<input tabindex="3" name="SELECCIONAR" type="submit" id="SELECCIONAR" value="SELECCIONAR">
</div></td>
</tr>
</table>
</form>
[/C O D E]
Y la carga de variables asi:
[C O D E]
MIN_RENT_ANO = Request.Form("RENT_ANO")
MIN_RENT_ANUAL = Request.Form("RENT_ANUAL")
RENT_ANO = MID((CONEXION_COTIZACIONES.Fields.Item("RENTABILID AD EN EL AÑO").Value), 1, LEN((CONEXION_COTIZACIONES.Fields.Item("RENTABILID AD EN EL AÑO").Value))-1)
RENT_ANUAL = MID((CONEXION_COTIZACIONES.Fields.Item("RENTABILID AD INTERANUAL").Value), 1, LEN((CONEXION_COTIZACIONES.Fields.Item("RENTABILID AD INTERANUAL").Value))-1)
[/C O D E]
Y la comparacion como ya dije:
[C O D E]
If RENT_ANO >= MIN_RENT_ANO And RENT_ANUAL >= MIN_RENT_ANUAL Then
----
End If
[/C O D E]
  #13 (permalink)  
Antiguo 21/05/2007, 01:07
 
Fecha de Ingreso: marzo-2003
Mensajes: 83
Antigüedad: 22 años, 1 mes
Puntos: 0
Re: Convertir variables alfanumericas a numericas

Lo del espacio de los items, es que lo mete el editor del foro al publicar la respuesta, pero en el codigo original no hay espacios.
  #14 (permalink)  
Antiguo 21/05/2007, 01:30
Avatar de Shiryu_Libra
Colaborador
 
Fecha de Ingreso: febrero-2007
Ubicación: Cantando "Screenager" en "Kirafa Kaput"
Mensajes: 3.614
Antigüedad: 18 años, 2 meses
Puntos: 88
Re: Convertir variables alfanumericas a numericas

una observacion,

RENT_ANO = MID((CONEXION_COTIZACIONES.Fields.Item("RENTABILID AD EN EL AÑO").Value), 1,
LEN((CONEXION_COTIZACIONES.Fields.Item("RENTABILID AD EN EL AÑO").Value))-1)

podrias quitar la Ñ, de una de tus variables e intentarlo de nuevo??


RENT_ANO = MID((CONEXION_COTIZACIONES.Fields.Item("RENTABILID AD EN EL ANO").Value), 1,
LEN((CONEXION_COTIZACIONES.Fields.Item("RENTABILID AD EN EL ANO").Value))-1)
__________________
"Eres parte del problema, parte de la solucion o parte del paisaje"
Un Saludo desde Desierto de Altar, Sonora, MX.
Shiryu_libra
  #15 (permalink)  
Antiguo 22/05/2007, 07:32
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 23 años, 3 meses
Puntos: 146
Re: Convertir variables alfanumericas a numericas

RENTABILID AD EN EL ANO?

:-p
  #16 (permalink)  
Antiguo 22/05/2007, 08:12
 
Fecha de Ingreso: enero-2006
Ubicación: Torroles (Costa der Só)
Mensajes: 1.017
Antigüedad: 19 años, 3 meses
Puntos: 7
Re: Convertir variables alfanumericas a numericas

__________________
"Tus pecados son el estiércol sobre el que florecerán las flores de tus virtudes" - Gerald Messadié -
  #17 (permalink)  
Antiguo 22/05/2007, 10:17
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 23 años, 3 meses
Puntos: 98
Re: Convertir variables alfanumericas a numericas

__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
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

SíEste tema le ha gustado a 1 personas (incluyéndote)




La zona horaria es GMT -6. Ahora son las 20:56.