comp.lang.ada
 help / color / mirror / Atom feed
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




  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