From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.5-pre1 (2020-06-20) on ip-172-31-74-118.ec2.internal X-Spam-Level: X-Spam-Status: No, score=-1.9 required=3.0 tests=BAYES_00 autolearn=ham autolearn_force=no version=3.4.5-pre1 Path: eternal-september.org!reader02.eternal-september.org!news.gegeweb.eu!gegeweb.org!usenet-fr.net!proxad.net!feeder1-2.proxad.net!212.27.60.64.MISMATCH!cleanfeed3-b.proxad.net!nnrp1-2.free.fr!not-for-mail Subject: Re: From_string(Arg : String) return Big_Integer Newsgroups: comp.lang.ada References: <5126648c-215e-4d9e-bdd9-82fa5b510896n@googlegroups.com> <5ffa2a7b$0$19459$426a74cc@news.free.fr> <5ffb21c8$0$21590$426a74cc@news.free.fr> From: DrPi <314@drpi.fr> Date: Sun, 10 Jan 2021 17:33:48 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Thunderbird/78.6.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: fr Content-Transfer-Encoding: 8bit Message-ID: <5ffb2c6d$0$13561$426a74cc@news.free.fr> Organization: Guest of ProXad - France NNTP-Posting-Date: 10 Jan 2021 17:33:49 CET NNTP-Posting-Host: 82.65.30.55 X-Trace: 1610296429 news-3.free.fr 13561 82.65.30.55:50848 X-Complaints-To: abuse@proxad.net Xref: reader02.eternal-september.org comp.lang.ada:61090 List-Id: Le 10/01/2021 à 17:02, Dmitry A. Kazakov a écrit : > On 2021-01-10 16:48, DrPi wrote: > >> So either : >> >>        for C of Str loop >>           Num := (Num * 10) + Character'Pos (C) - Character'Pos ('0'); >>        end loop; >> >> or : >> >>        for Idx in Str'Range loop >>           Num := (Num * 10) + Character'Pos (Str(Idx)) - Character'Pos >> ('0'); >>        end loop; > > Just for fun: > >    subtype Digit is Character range '0'..'9'; >    Encode : constant array (Digit) of Integer := (0,1,2,3,4,5,6,7,8,9); > >    for ... loop >       Num := Num * 10 + Encode (C); > Nice one ! >>> - It does not handle overflow; >> It handles overflow. > > Only if Constraint_Error must be the result. > Right.