Error en conversion de tipos (string a integer)

14/12/2004 - 17:24 por aerovoyager | Informe spam
Tengo el siguiente codigo:

DIM n
DIM i AS Integer = 0
DIM j AS Integer = 0
DIM CO, PP, EM, EB, SI

FOR EACH n IN Request.Form
Response.Write(i & ".- " & n & " = " & Request.Form(n) & "<br>")
i += 1
NEXT

i = CInt((i/4)-1)

Response.Write(i & "<br><br>")
FOR j = 0 TO i
CO = Request.Form(j & "_CO")
PP = Request.Form(j & "_PP")
EM = Request.Form(j & "_EM")
EB = Request.Form(j & "_EB")
Response.Write(J+1 & " " & VarType(pp) & "<br>")
NEXT


El valor de Request.Form(j & "_CO") / PP deberia de ser un tero ya que es
eso lo que envio atravez del post pero al hacerle un VarType me dice q ue
vale 8 (8 = String) por ello probe con CInt(PP) y con CInt(Request.Form(j &
"_CO")) y el interprete de asp.NET me dice :

La cadena de entrada no tiene el formato correcto.
Descripción: Excepción no controlada al ejecutar la solicitud Web actual.
Revise el seguimiento de la pila para obtener más información acerca del
error y dónde se originó en el código.

Detalles de la excepción: System.FormatException: La cadena de entrada no
tiene el formato correcto.

Error de código fuente:

Línea 42: EM = Request.Form(j & "_EM")
Línea 43: EB = Request.Form(j & "_EB")
Línea 44: Response.Write(J+1 & " " & CInt(pp) & "<br>") <<< Linea del
Error
Línea 45: NEXT
Línea 46:

Y necesito que ese valor me llegue tal como es "entero" ya que debo de
sumarlo con otro y no puedo, alguna pista, que es lo que esta malç


PD: Uso para el desarrollo winXP / IIS 5.1 .NET FrameWork 1.0 / MSSQL 200

Preguntas similare

Leer las respuestas

#1 pablo crosio
14/12/2004 - 19:45 | Informe spam
hola!

habria que ver que contienen los Request.Form().. en formato cadena

podes mostralos como string antes de hacer la conversion, para darte cuenta
del porque del error...

salu2!

pablo

"aerovoyager" escribió:

Tengo el siguiente codigo:

DIM n
DIM i AS Integer = 0
DIM j AS Integer = 0
DIM CO, PP, EM, EB, SI

FOR EACH n IN Request.Form
Response.Write(i & ".- " & n & " = " & Request.Form(n) & "<br>")
i += 1
NEXT

i = CInt((i/4)-1)

Response.Write(i & "<br><br>")
FOR j = 0 TO i
CO = Request.Form(j & "_CO")
PP = Request.Form(j & "_PP")
EM = Request.Form(j & "_EM")
EB = Request.Form(j & "_EB")
Response.Write(J+1 & " " & VarType(pp) & "<br>")
NEXT


El valor de Request.Form(j & "_CO") / PP deberia de ser un tero ya que es
eso lo que envio atravez del post pero al hacerle un VarType me dice q ue
vale 8 (8 = String) por ello probe con CInt(PP) y con CInt(Request.Form(j &
"_CO")) y el interprete de asp.NET me dice :

La cadena de entrada no tiene el formato correcto.
Descripción: Excepción no controlada al ejecutar la solicitud Web actual.
Revise el seguimiento de la pila para obtener más información acerca del
error y dónde se originó en el código.

Detalles de la excepción: System.FormatException: La cadena de entrada no
tiene el formato correcto.

Error de código fuente:

Línea 42: EM = Request.Form(j & "_EM")
Línea 43: EB = Request.Form(j & "_EB")
Línea 44: Response.Write(J+1 & " " & CInt(pp) & "<br>") <<< Linea del
Error
Línea 45: NEXT
Línea 46:

Y necesito que ese valor me llegue tal como es "entero" ya que debo de
sumarlo con otro y no puedo, alguna pista, que es lo que esta malç


PD: Uso para el desarrollo winXP / IIS 5.1 .NET FrameWork 1.0 / MSSQL 200



Respuesta Responder a este mensaje
#2 aerovoyager
14/12/2004 - 21:10 | Informe spam
Ya esta resulto, lo que sucedia es que al haber un campo vacio el CInt() me
marcaba ese error el uso de un condicional lo solvento.

:p

Gracias

PD: lo que se me hace raro es que lo unico que envio son numeros, ¿como es
que llegan como cadenas?, raro muy raro.

"pablo crosio" escribió :

hola!

habria que ver que contienen los Request.Form().. en formato cadena

podes mostralos como string antes de hacer la conversion, para darte


cuenta
del porque del error...

salu2!

pablo

"aerovoyager" escribió:

> Tengo el siguiente codigo:
>
> DIM n
> DIM i AS Integer = 0
> DIM j AS Integer = 0
> DIM CO, PP, EM, EB, SI
>
> FOR EACH n IN Request.Form
> Response.Write(i & ".- " & n & " = " & Request.Form(n) & "<br>")
> i += 1
> NEXT
>
> i = CInt((i/4)-1)
>
> Response.Write(i & "<br><br>")
> FOR j = 0 TO i
> CO = Request.Form(j & "_CO")
> PP = Request.Form(j & "_PP")
> EM = Request.Form(j & "_EM")
> EB = Request.Form(j & "_EB")
> Response.Write(J+1 & " " & VarType(pp) & "<br>")
> NEXT
>
>
> El valor de Request.Form(j & "_CO") / PP deberia de ser un tero ya que


es
> eso lo que envio atravez del post pero al hacerle un VarType me dice q


ue
> vale 8 (8 = String) por ello probe con CInt(PP) y con


CInt(Request.Form(j &
> "_CO")) y el interprete de asp.NET me dice :
>
> La cadena de entrada no tiene el formato correcto.
> Descripción: Excepción no controlada al ejecutar la solicitud Web


actual.
> Revise el seguimiento de la pila para obtener más información acerca del
> error y dónde se originó en el código.
>
> Detalles de la excepción: System.FormatException: La cadena de entrada


no
> tiene el formato correcto.
>
> Error de código fuente:
>
> Línea 42: EM = Request.Form(j & "_EM")
> Línea 43: EB = Request.Form(j & "_EB")
> Línea 44: Response.Write(J+1 & " " & CInt(pp) & "<br>") <<< Linea del
> Error
> Línea 45: NEXT
> Línea 46:
>
> Y necesito que ese valor me llegue tal como es "entero" ya que debo de
> sumarlo con otro y no puedo, alguna pista, que es lo que esta malç
>
>
> PD: Uso para el desarrollo winXP / IIS 5.1 .NET FrameWork 1.0 / MSSQL


200
>
>
>
Respuesta Responder a este mensaje
#3 pablo crosio
14/12/2004 - 22:49 | Informe spam
El tema es que Request.Form() devuelve siempre String...

fijate en su definicion en la MSDN

salu2!!

pablo

"aerovoyager" escribió:

Ya esta resulto, lo que sucedia es que al haber un campo vacio el CInt() me
marcaba ese error el uso de un condicional lo solvento.

:p

Gracias

PD: lo que se me hace raro es que lo unico que envio son numeros, ¿como es
que llegan como cadenas?, raro muy raro.

"pablo crosio" escribió :

> hola!
>
> habria que ver que contienen los Request.Form().. en formato cadena
>
> podes mostralos como string antes de hacer la conversion, para darte
cuenta
> del porque del error...
>
> salu2!
>
> pablo
>
> "aerovoyager" escribió:
>
> > Tengo el siguiente codigo:
> >
> > DIM n
> > DIM i AS Integer = 0
> > DIM j AS Integer = 0
> > DIM CO, PP, EM, EB, SI
> >
> > FOR EACH n IN Request.Form
> > Response.Write(i & ".- " & n & " = " & Request.Form(n) & "<br>")
> > i += 1
> > NEXT
> >
> > i = CInt((i/4)-1)
> >
> > Response.Write(i & "<br><br>")
> > FOR j = 0 TO i
> > CO = Request.Form(j & "_CO")
> > PP = Request.Form(j & "_PP")
> > EM = Request.Form(j & "_EM")
> > EB = Request.Form(j & "_EB")
> > Response.Write(J+1 & " " & VarType(pp) & "<br>")
> > NEXT
> >
> >
> > El valor de Request.Form(j & "_CO") / PP deberia de ser un tero ya que
es
> > eso lo que envio atravez del post pero al hacerle un VarType me dice q
ue
> > vale 8 (8 = String) por ello probe con CInt(PP) y con
CInt(Request.Form(j &
> > "_CO")) y el interprete de asp.NET me dice :
> >
> > La cadena de entrada no tiene el formato correcto.
> > Descripción: Excepción no controlada al ejecutar la solicitud Web
actual.
> > Revise el seguimiento de la pila para obtener más información acerca del
> > error y dónde se originó en el código.
> >
> > Detalles de la excepción: System.FormatException: La cadena de entrada
no
> > tiene el formato correcto.
> >
> > Error de código fuente:
> >
> > Línea 42: EM = Request.Form(j & "_EM")
> > Línea 43: EB = Request.Form(j & "_EB")
> > Línea 44: Response.Write(J+1 & " " & CInt(pp) & "<br>") <<< Linea del
> > Error
> > Línea 45: NEXT
> > Línea 46:
> >
> > Y necesito que ese valor me llegue tal como es "entero" ya que debo de
> > sumarlo con otro y no puedo, alguna pista, que es lo que esta malç
> >
> >
> > PD: Uso para el desarrollo winXP / IIS 5.1 .NET FrameWork 1.0 / MSSQL
200
> >
> >
> >



email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida