From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.3 required=5.0 tests=BAYES_00,INVALID_MSGID autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,c8a853b515609781 X-Google-Attributes: gid103376,public From: Richard D Riehle Subject: Re: strings to floats/integers Date: 1998/08/26 Message-ID: <6s1p3m$4sp@sjx-ixn1.ix.netcom.com>#1/1 X-Deja-AN: 385027440 References: <35e41033.9324314@200.223.0.87> <6s1e9k$bgq@sjx-ixn5.ix.netcom.com> <6s1g0t$lk6@hacgate2.hac.com> Organization: ICGNetcom X-NETCOM-Date: Wed Aug 26 12:53:26 PM PDT 1998 Newsgroups: comp.lang.ada Date: 1998-08-26T12:53:26-07:00 List-Id: In article <6s1g0t$lk6@hacgate2.hac.com>, "David C. Hoos, Sr." wrote: In response to the following message, > >Richard D Riehle wrote in message <6s1e9k$bgq@sjx-ixn5.ix.netcom.com>... >>In article <35e41033.9324314@200.223.0.87>, > >>The conversion between strings and float and strings and integers can >>easily be accomplished using Ada.Text_IO. Note that for >> >> Ada.Text_IO.Integer_IO >> and Ada.Text_IO.Float_IO >> >>there are Get and Put operations defined for conversion between strings >>and the desired numeric type. >True enough, Richard, but I would only use an instance of a numeric io >generic for the case where I wanted to control the output format. If I will >accept exponential notation for floating output, I would use the 'image >attribute. For all conversion from strings, I would use the 'value >attribute. >David C. Hoos, Sr. Formatting can often be an important issue. The attribute method, while a useful brute-force method of achieving the conversions, will not always provide the more discipline result of Get and Put. Also, the use of 'Value for an invalid string will raise a constraint error. Would you rather see Ada.Text_IO.Data_Error. There are many other reasons for using the Get and Put, but I know you are aware of them. One anecdote might be useful. In converting floating point numbers from a VAX (the sign is in bit 15) to floating point for an IBM mainframe (the sign is bit 31) the Get and Put from Float_IO served well as a way to properly format the data from one machine to another. The ability to differentiate between data errors and constraint errors was important in this situation. Richard Riehle richard@adaworks.com http://www.adaworks.com