• Subject: Re: Extract number from character field
  • From: Argasoft by Arnaldo Gaudenzi <argasoft@xxxxxxxxxxxxxxx>
  • Date: Sun, 07 Nov 1999 20:12:09 +0100

RickRyn@aol.com wrote:

> I've got a 25 byte field that contains a number somewhere in it that I wish
> to extract.  Example:  Field contents (XYZ Company Store 123).  The problem
> is that "123" could be anywhere or it could be "1234".  I am using RPG ILE
> and am getting nowhere fast.  Any ideas?
> Rick
> +---
> | This is the Midrange System Mailing List!
> | To submit a new message, send your mail to MIDRANGE-L@midrange.com.
> | To subscribe to this list send email to MIDRANGE-L-SUB@midrange.com.
> | To unsubscribe from this list send email to MIDRANGE-L-UNSUB@midrange.com.
> | Questions should be directed to the list owner/operator: david@midrange.com
> +---

I do not know if it's of any help to you (as I'm still using RPG2), but I'd do 
as follows:

1. Move your field into an array with as much single elements as field length;
2. Set an index field to the maximum elements of the array;
3. Check moving backwards until you find the first element that is not a number;
4. Add 1 to the index field to reposition on the first number;
5. Move the whole to a numeric field.

Example (hope it comes out in coloumns):
Field length 25         Array 25 elem. of 1 byte
                MOVEA       FIELD   ARR
                Z-ADD        25        I
ARR,I        DOWGE      '0'
                SUB           1          I                            check not 
to reach I=0
                ADD           1          I
                MOVEA      ARR,I    NUMFLD   n 0          n 0 only if field not 
already created

Let me know

tel;cell:+39 0335 8419520
tel;fax:+39 0565 930900
tel;work:+39 0565 930900
org:Argasoft by Arnaldo Gaudenzi
adr:;;Loc Valle di Lazzaro, 67;PORTOFERRAIO;LI;57037;ITALY

This thread ...


Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2019 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].