Re: Error en %int

2018-03-16 Por tema Alex Martínez
Hola

Si los valores a convertir pueden ser del tipo "15,3 metros" o "12 piezas"
y quieres obtener 15,3 y 12 puedes usar la función atoi

Tengo un ejemplo en mi blog

https://sites.google.com/site/ajut400/Tecnicas/tokens

Salu2



El 15 de marzo de 2018, 17:26, Juan Carlos O.  escribió:

>
>
> Buenas.
>
> Una vez mas necesito una pequeña/gran ayuda
>
> En un programa estoy utilizando la función incorporada %INT, con el fin de
> convertir a numérico un campo alfabético. El problema es que no se puede
> garantizar que en el campo alfabético solo vengan números. Como sabeis, si
> hubiera cualquier cosa que no fuese números o el punto/coma decimal, el
> programa da un error de datos decimales.
>
> La pregunta es: hay alguna otra función incorporada que valide el dato, o
> alguna forma para comprobar que la función %int va a ser correcta.
>
> Muchas gracias por vuestra ideas.
>
> Saludos a todos
>
>
>
> 
> Únete a Recursos AS400, nuestra Comunidad ( http://bit.ly/db68dd )
> Forum.Help400 © Publicaciones Help400, S.L.
>

Únete a Recursos AS400, nuestra Comunidad ( http://bit.ly/db68dd )
Forum.Help400 © Publicaciones Help400, S.L.

RE: Error en %int

2018-03-15 Por tema Alfonso Anda
Esto va bien, supongo que con %int será igual.

 

if  %check('0123456789':%trim(campo_alf))  = *zeros ;

campo_nun = %dec(%trim(campo_alf):5:0)  ;

endif  ;

 

 

 

De: forum.help400-boun...@listas.combios.es 
[mailto:forum.help400-boun...@listas.combios.es] En nombre de Juan Carlos O.
Enviado el: jueves, 15 de marzo de 2018 17:27
Para: forum.help400
Asunto: Error en %int

 

  

Buenas.

Una vez mas necesito una pequeña/gran ayuda

En un programa estoy utilizando la función incorporada %INT, con el fin de 
convertir a numérico un campo alfabético. El problema es que no se puede 
garantizar que en el campo alfabético solo vengan números. Como sabeis, si 
hubiera cualquier cosa que no fuese números o el punto/coma decimal, el 
programa da un error de datos decimales.

La pregunta es: hay alguna otra función incorporada que valide el dato, o 
alguna forma para comprobar que la función %int va a ser correcta.

Muchas gracias por vuestra ideas.

Saludos a todos

 


Únete a Recursos AS400, nuestra Comunidad ( http://bit.ly/db68dd )
Forum.Help400 © Publicaciones Help400, S.L.

RE: Error en %int

2018-03-15 Por tema Javier Mora
Se me ocurre,

Monitor;
  entero = %INT( texto);
On-Error;
  // No se pudo convertir el campo
EndMon;

De: forum.help400-boun...@listas.combios.es 
[mailto:forum.help400-boun...@listas.combios.es] En nombre de Juan Carlos O.
Enviado el: jueves, 15 de marzo de 2018 17:27
Para: forum.help400
Asunto: Error en %int


Buenas.
Una vez mas necesito una pequeña/gran ayuda
En un programa estoy utilizando la función incorporada %INT, con el fin de 
convertir a numérico un campo alfabético. El problema es que no se puede 
garantizar que en el campo alfabético solo vengan números. Como sabeis, si 
hubiera cualquier cosa que no fuese números o el punto/coma decimal, el 
programa da un error de datos decimales.
La pregunta es: hay alguna otra función incorporada que valide el dato, o 
alguna forma para comprobar que la función %int va a ser correcta.
Muchas gracias por vuestra ideas.
Saludos a todos


Únete a Recursos AS400, nuestra Comunidad ( http://bit.ly/db68dd )
Forum.Help400 © Publicaciones Help400, S.L.

Re: Error en %int

2018-03-15 Por tema Jesus Manuel Sanchez Montaña

Hola:


Así de pronto, lo que más rápido se me ocurre es hacer un %scan al campo 
alfabético para descartar caracteres que no estén en el rango 0 a 9.


Saludo.2



De: Juan Carlos O. 
Enviado: jueves, 15 de marzo de 2018 17:26
Para: forum.help400
Asunto: Error en %int


Buenas.
Una vez mas necesito una pequeña/gran ayuda
En un programa estoy utilizando la función incorporada %INT, con el fin de 
convertir a numérico un campo alfabético. El problema es que no se puede 
garantizar que en el campo alfabético solo vengan números. Como sabeis, si 
hubiera cualquier cosa que no fuese números o el punto/coma decimal, el 
programa da un error de datos decimales.
La pregunta es: hay alguna otra función incorporada que valide el dato, o 
alguna forma para comprobar que la función %int va a ser correcta.
Muchas gracias por vuestra ideas.
Saludos a todos




This email was scanned by Bitdefender

Únete a Recursos AS400, nuestra Comunidad ( http://bit.ly/db68dd )
Forum.Help400 © Publicaciones Help400, S.L.