Ada Programming/Libraries/Ada.Text IO.Editing


Ada. Time-tested, safe and secure.
Ada. Time-tested, safe and secure.

This language feature is available from Ada 95 on.Category:Book:Ada Programming/Ada 95 feature#Ada.Text IO.Editing Ada.Text_IO.Editing is a unit of the Predefined Language Environment since Ada 95.

This package is used for the generation and printing of strings from numbers representing amounts in some currency. The inclusion of a currency can be simply avoided by passing "" as parameter.

Example

Example representing the use of Ada.Text_IO.Editing.
with Ada.Text_IO.Editing;

procedure Example_Euros is

   type Euro_Price_Type is delta 0.Category:Book:Ada Programming/Pages containing deprecated templates01 digits 6;

   package Euros_IO is new Ada.Category:Book:Ada Programming/Pages containing deprecated templatesText_IO.Category:Book:Ada Programming/Pages containing deprecated templatesEditing.Category:Book:Ada Programming/Pages containing deprecated templatesDecimal_Output
     (Num                =>Category:Book:Ada Programming/Pages containing deprecated templates Euro_Price_Type,
      Default_Currency   =>Category:Book:Ada Programming/Pages containing deprecated templates "EUR ",
      Default_Fill       =>Category:Book:Ada Programming/Pages containing deprecated templates ' ',
      Default_Separator  =>Category:Book:Ada Programming/Pages containing deprecated templates ',',
      Default_Radix_Mark =>Category:Book:Ada Programming/Pages containing deprecated templates '.Category:Book:Ada Programming/Pages containing deprecated templates');

   A_Price : constant Euro_Price_Type := 5873.Category:Book:Ada Programming/Pages containing deprecated templates26;
begin

   Ada.Category:Book:Ada Programming/Pages containing deprecated templatesText_IO.Category:Book:Ada Programming/Pages containing deprecated templatesPut_Line ("Price with cents: ");

   --  We generate a string image and print it using Text_IO
   Ada.Category:Book:Ada Programming/Pages containing deprecated templatesText_IO.Category:Book:Ada Programming/Pages containing deprecated templatesPut_Line
     (Euros_IO.Category:Book:Ada Programming/Pages containing deprecated templatesImage
        (Item =>Category:Book:Ada Programming/Pages containing deprecated templates A_Price,
         Pic  =>Category:Book:Ada Programming/Pages containing deprecated templates Ada.Category:Book:Ada Programming/Pages containing deprecated templatesText_IO.Category:Book:Ada Programming/Pages containing deprecated templatesEditing.Category:Book:Ada Programming/Pages containing deprecated templatesTo_Picture
           ("#_###_###_##9.99")));

   Ada.Category:Book:Ada Programming/Pages containing deprecated templatesText_IO.Category:Book:Ada Programming/Pages containing deprecated templatesPut_Line ("Integer price: ");

   --  Let's use now the Put procedure from Euros_IO
   Euros_IO.Category:Book:Ada Programming/Pages containing deprecated templatesPut
     (Item =>Category:Book:Ada Programming/Pages containing deprecated templates A_Price,
      Pic  =>Category:Book:Ada Programming/Pages containing deprecated templates Ada.Category:Book:Ada Programming/Pages containing deprecated templatesText_IO.Category:Book:Ada Programming/Pages containing deprecated templatesEditing.Category:Book:Ada Programming/Pages containing deprecated templatesTo_Picture
        ("#_###_###_##9"));

end Example_Euros;

Code:

Price with cents:
    EUR 5,873.26
Integer price: 
    EUR 5,873

Specification

--                     Standard Ada library specification
--   Copyright (c) 2003-2018 Maxim Reznik <reznikmm@gmail.com>
--   Copyright (c) 2004-2016 AXE Consultants
--   Copyright (c) 2004, 2005, 2006 Ada-Europe
--   Copyright (c) 2000 The MITRE Corporation, Inc.
--   Copyright (c) 1992, 1993, 1994, 1995 Intermetrics, Inc.
--   SPDX-License-Identifier: BSD-3-Clause and LicenseRef-AdaReferenceManual
-- -------------------------------------------------------------------------

package Ada.Text_IO.Editing is

   type Picture is private;

   function Valid (Pic_String      : in String;
                   Blank_When_Zero : in Boolean := False) return Boolean;

   function To_Picture (Pic_String      : in String;
                        Blank_When_Zero : in Boolean := False)
                       return Picture;

   function Pic_String      (Pic : in Picture) return String;
   function Blank_When_Zero (Pic : in Picture) return Boolean;

   Max_Picture_Length  : constant := implementation_defined;

   Picture_Error       : exception;

   Default_Currency    : constant String    := "$";
   Default_Fill        : constant Character := '*';
   Default_Separator   : constant Character := ',';
   Default_Radix_Mark  : constant Character := '.Category:Book:Ada Programming/Pages containing deprecated templates';

   generic
      type Num is delta <>Category:Book:Ada Programming/Pages containing deprecated templates digits <>Category:Book:Ada Programming/Pages containing deprecated templates;

      Default_Currency   : in String    := Text_IO.Category:Book:Ada Programming/Pages containing deprecated templatesEditing.Category:Book:Ada Programming/Pages containing deprecated templatesDefault_Currency;
      Default_Fill       : in Character := Text_IO.Category:Book:Ada Programming/Pages containing deprecated templatesEditing.Category:Book:Ada Programming/Pages containing deprecated templatesDefault_Fill;
      Default_Separator  : in Character := Text_IO.Category:Book:Ada Programming/Pages containing deprecated templatesEditing.Category:Book:Ada Programming/Pages containing deprecated templatesDefault_Separator;
      Default_Radix_Mark : in Character := Text_IO.Category:Book:Ada Programming/Pages containing deprecated templatesEditing.Category:Book:Ada Programming/Pages containing deprecated templatesDefault_Radix_Mark;
   package Decimal_Output is
      function Length (Pic      : in Picture;
                       Currency : in String := Default_Currency)
                      return Natural;

      function Valid (Item     : in Num;
                      Pic      : in Picture;
                      Currency : in String := Default_Currency)
                     return Boolean;

      function Image (Item       : in Num;
                      Pic        : in Picture;
                      Currency   : in String    := Default_Currency;
                      Fill       : in Character := Default_Fill;
                      Separator  : in Character := Default_Separator;
                      Radix_Mark : in Character := Default_Radix_Mark)
                     return String;

      procedure Put (File       : in File_Type;
                     Item       : in Num;
                     Pic        : in Picture;
                     Currency   : in String    := Default_Currency;
                     Fill       : in Character := Default_Fill;
                     Separator  : in Character := Default_Separator;
                     Radix_Mark : in Character := Default_Radix_Mark);

      procedure Put (Item       : in Num;
                     Pic        : in Picture;
                     Currency   : in String    := Default_Currency;
                     Fill       : in Character := Default_Fill;
                     Separator  : in Character := Default_Separator;
                     Radix_Mark : in Character := Default_Radix_Mark);

      procedure Put (To         : out String;
                     Item       : in Num;
                     Pic        : in Picture;
                     Currency   : in String    := Default_Currency;
                     Fill       : in Character := Default_Fill;
                     Separator  : in Character := Default_Separator;
                     Radix_Mark : in Character := Default_Radix_Mark);
   end Decimal_Output;

private
   pragma Import (Ada, Picture);
end Ada.Category:Book:Ada Programming/Pages containing deprecated templatesText_IO.Category:Book:Ada Programming/Pages containing deprecated templatesEditing;

See also

Wikibook

Ada Style Guide

External examples

Ada Reference Manual

Ada 95

Ada 2005

Ada 2012

Open-Source Implementations

FSF GNAT

drake

Category:Book:Ada Programming#Libraries/Ada.Text%20IO.Editing%20
Category:Book:Ada Programming Category:Book:Ada Programming/Ada 95 feature Category:Book:Ada Programming/Pages containing deprecated templates Category:Pages using deprecated source tags Category:Pages with syntax highlighting errors