From: Ken Garlington <garlingtonke@lmtas.lmco.com>
Subject: Re: Leading zeros with Int_IO.Put()? Or another package?
Date: 1996/11/08
Date: 1996-11-08T00:00:00+00:00 [thread overview]
Message-ID: <3283921B.20F8@lmtas.lmco.com> (raw)
In-Reply-To: 55ubsh$lh0$1@goanna.cs.rmit.edu.au
robin wrote:
>
> David Shochat <shochat@itg-sepg.logicon.com> writes:
>
> >J.D. Baldwin wrote:
>
> >> My question: is there a better way to pad out integers with leading
> >> zeros?
>
> >Whenever I need leading zeros (in any radix), I use what we call here
> >the "Everage Maneuver" (named after fellow Logiconer Amy Everage, who
> >came up with this years ago). Lets say we want to put the nonnegative
> >integer n to a field of k characters with radix r using leading zeros if
> >necessary. So we assert n < r**k.
> >1. Convert n + r**k to a string. This uses k+1 characters, the 1st of
> >which is '1', representing r**k.
> >2. Use all but the 1st character from the result of (1).
>
> Interface to PL/I and you can use standard I/O:
>
> put edit (n) (P'-99999999');
>
> and you don't have to worry about whether the number is
> negative either. The nines in the picture format
> force leading zeros to print.
>
> And if you want, you can insert commas in the output
> to make it more readable. The picture specification becomes:
>
> P'-999,999,999'
Or, if you use a decimal type, you can just use Ada:
package Pic_IO is new Ada.Text_IO.Editing.Decimal_Output(<some decimal type>);
...
Pic_IO.Put (n, Pic_IO.To_Picture("-99999999")); -- or "-999,999,999", etc.
See ISO/IEC 8652:1995 F.3 (Edited Output for Decimal Types).
--
LMTAS - "Our Brand Means Quality"
For more info, see http://www.lmtas.com or http://www.lmco.com
next prev parent reply other threads:[~1996-11-08 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 ` Ken Garlington [this message]
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 ` 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-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-21 0:00 ` Jerry Coffin
1996-11-22 0:00 ` Ken Garlington
1996-11-20 0:00 ` Robert Dewar
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-21 0:00 ` Robert I. Eachus
1996-11-22 0:00 ` robin
1996-11-05 0:00 ` Samuel Tardieu
1996-11-06 0:00 ` Robert I. Eachus
1996-11-08 0:00 ` Norman H. Cohen
1996-11-06 0:00 ` Stephen Leake
1996-11-06 0:00 ` Norman H. Cohen
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-08 0:00 ` David Emery
1996-11-24 0:00 ` Fergus Henderson
1996-11-24 0:00 ` Robert Dewar
1996-11-25 0:00 ` Larry Kilgallen
1996-11-25 0:00 ` J. David Bryan
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-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 ` James Rogers
1996-11-07 0:00 ` Robert Dewar
1996-12-15 0:00 Robert Dewar
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox