comp.lang.ada
 help / color / mirror / Atom feed
From: "Alexander Camek" <Alexander.Camek@Elektrobit.com>
Subject: Re: Converting Integer / Float to String
Date: Thu, 17 Jul 2008 10:32:59 +0200
Date: 2008-07-17T10:32:59+02:00	[thread overview]
Message-ID: <newscache$md654k$4y6$1@pleione.3soft.de> (raw)
In-Reply-To: 62haf1069b85$.tb768rmm6vib.dlg@40tude.net

Hi Dimitry,

"Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> wrote in message 
news:62haf1069b85$.tb768rmm6vib.dlg@40tude.net...
> On Thu, 17 Jul 2008 09:49:16 +0200, Alexander Camek wrote:
>> I am currently using some code like this:
>>
>> begin
>> Value :=Float'Value(Float_String);
>> exception
>> when Constraint_Error => Value := 0.0;
>> end;
>>
>> For me this is very ugly and a big hack.
>
> Certainly it is ugly, because it is not clear why an improperly spelt or a
> too large number should magically become 0.0.
> The first question is why do you want to convert string to float. This
> makes no sense in most cases. (Parsing text is not about string
> conversions.) The second question is about the format of the number in the
> string, which includes treatment of blank characters, based numbers, 
> signed
> numbers and so on. The third question is about error handling, what 
> happens
> upon syntax, overflow, underflow, no number, etc errors.

First of all, this was only a base to start discussion on it and at that 
point I need some value to initial my float or integer value to get a proper 
value if the string is malformed.
As far as I can tell, the background of the code snipplet is that the string 
is given from an xml file which is parsed by glib xml and there I get all as 
a string.

To your second question. The whitespaces are trimmed and I can only rely on 
the point that there is a correct value in it, if not then the default value 
will be set or at the beginning for initilisation 0.0 is used.

To your third question. That is reason why I posted here. I want to get a 
idea what I have missed in doing my parsing or how to do it a better way. It 
is clear that there is no silver bullet to do that. But what I want is a 
good feeling about how to deal with it, what I have to think about and how 
to deal with it.

Greetings

Alexander





  reply	other threads:[~2008-07-17  8:32 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-07-17  7:49 Converting Integer / Float to String Alexander Camek
2008-07-17  8:05 ` anon
2008-07-17  8:15 ` Dmitry A. Kazakov
2008-07-17  8:32   ` Alexander Camek [this message]
2008-07-17  9:24     ` Dmitry A. Kazakov
2008-07-20  0:28 ` JPWoodruff
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox