From: "Norman H. Cohen" <ncohen@watson.ibm.com>
Subject: Re: Leading zeros with Int_IO.Put()? Or another package?
Date: 1996/11/06
Date: 1996-11-06T00:00:00+00:00 [thread overview]
Message-ID: <3281088B.24F@watson.ibm.com> (raw)
In-Reply-To: baldwinE0Eq2n.KLB@netcom.com
J.D. Baldwin wrote:
> So I added relevant lines of code to CAL.ADB:
>
> if (MINUTE <= 9) then
> Int_IO.Put(0, 0);
> end if;
> Int_IO.Put(MINUTE,0);
>
> . . . and so forth, for each relevant value.
>
> My question: is there a better way to pad out integers with leading
> zeros? What if I wanted to pad to a width of three or four or sixteen,
> all with zeros? Is there a standard way to achieve this in Ada?
Using the GNAT-specific 'Img attribute and the standard package
Ada.Strings.Fixed:
Ada.Strings.Fixed.Move
(Source => Minute'Img,
Target => Buffer,
Justify => Right,
Pad => '0');
Ada.Text_IO.Put (Buffer);
(where Buffer is a string of the appropriate length, in this case 2).
Using the standard 'Image attribute (which annoyingly places a space in
front of nonnegative numerals) instead of 'Img to retain portability to
other compilers:
declare
Image : constant String := Minute'Image;
Buffer : String (1 .. Field_Length); -- 2 in the case of minutes
begin
Ada.Strings.Fixed.Move
(Source => Image (2 .. Image'Length),
Target => Buffer,
Justify => Right,
Pad => '0');
Ada.Text_IO.Put (Buffer);
end;
--
Norman H. Cohen
mailto:ncohen@watson.ibm.com
http://www.research.ibm.com/people/n/ncohen
next prev parent reply other threads:[~1996-11-06 0:00 UTC|newest]
Thread overview: 59+ messages / expand[flat|nested] mbox.gz Atom feed top
1996-11-05 0:00 Leading zeros with Int_IO.Put()? Or another package? J.D. Baldwin
1996-11-05 0:00 ` David Shochat
1996-11-08 0:00 ` robin
1996-11-08 0:00 ` Robert Dewar
1996-11-10 0:00 ` Verne Arase
1996-11-13 0:00 ` robin
1996-11-13 0:00 ` Ken Garlington
1996-11-19 0:00 ` robin
1996-11-19 0:00 ` Robert Dewar
1996-11-20 0:00 ` Richard A. O'Keefe
1996-11-20 0:00 ` Robert Dewar
1996-11-20 0:00 ` robin
1996-11-20 0:00 ` Robert Dewar
1996-11-22 0:00 ` Richard A. O'Keefe
1996-11-25 0:00 ` shmuel
1996-11-20 0:00 ` Richard A. O'Keefe
1996-11-22 0:00 ` robin
1996-11-22 0:00 ` Richard A. O'Keefe
1996-11-23 0:00 ` robin
1996-11-20 0:00 ` Larry J. Elmore
1996-11-25 0:00 ` robin
1996-11-25 0:00 ` Robert Dewar
1996-11-26 0:00 ` Larry J. Elmore
1996-11-21 0:00 ` Jerry Coffin
1996-11-22 0:00 ` Ken Garlington
1996-11-20 0:00 ` Norman H. Cohen
1996-11-22 0:00 ` Ken Garlington
1996-11-27 0:00 ` Verne Arase
1996-12-02 0:00 ` Ken Garlington
[not found] ` <56tjrh$4a <MPLANET.3294c204jcoffin989a3e@news.rmi.net>
1996-11-24 0:00 ` Bert
1996-11-13 0:00 ` robin
1996-11-13 0:00 ` Ken Garlington
1996-11-19 0:00 ` robin
1996-11-22 0:00 ` Robert Dewar
1996-11-22 0:00 ` Ken Garlington
1996-11-17 0:00 ` Robert Dewar
1996-11-08 0:00 ` Ken Garlington
1996-11-21 0:00 ` Robert I. Eachus
1996-11-22 0:00 ` robin
1996-11-05 0:00 ` Samuel Tardieu
1996-11-06 0:00 ` Stephen Leake
1996-11-06 0:00 ` Norman H. Cohen [this message]
1996-11-07 0:00 ` Pascal Obry
1996-11-07 0:00 ` Norman H. Cohen
1996-11-08 0:00 ` Norman H. Cohen
1996-11-09 0:00 ` Robert Dewar
1996-11-06 0:00 ` Robert I. Eachus
1996-11-08 0:00 ` Norman H. Cohen
1996-11-08 0:00 ` David Emery
1996-11-24 0:00 ` Fergus Henderson
1996-11-24 0:00 ` Robert Dewar
1996-11-25 0:00 ` J. David Bryan
1996-11-25 0:00 ` Larry Kilgallen
1996-11-27 0:00 ` Verne Arase
1996-11-28 0:00 ` Richard A. O'Keefe
-- strict thread matches above, loose matches on Subject: below --
1996-12-15 0:00 Robert Dewar
1996-11-05 0:00 Collection of 2500+ links about Object-Orientation - interested ? Manfred Schneider
1996-11-07 0:00 ` Leading zeros with Int_IO.Put()? Or another package? John Herro
1996-11-07 0:00 ` Robert Dewar
1996-11-07 0:00 ` James Rogers
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox