Ada Programming/Libraries/Ada.Text_IO.Editing
This language feature is available from Ada 95 on.
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.
withAda.Text_IO.Editing;procedureExample_EurosistypeEuro_Price_Typeisdelta0.01digits6;packageEuros_IOisnewAda.Text_IO.Editing.Decimal_Output (Num => Euro_Price_Type, Default_Currency => "EUR ", Default_Fill => ' ', Default_Separator => ',', Default_Radix_Mark => '.'); A_Price :constantEuro_Price_Type := 5873.26;beginAda.Text_IO.Put_Line ("Price with cents: "); -- We generate a string image and print it using Text_IO Ada.Text_IO.Put_Line (Euros_IO.Image (Item => A_Price, Pic => Ada.Text_IO.Editing.To_Picture ("#_###_###_##9.99"))); Ada.Text_IO.Put_Line ("Integer price: "); -- Let's use now the Put procedure from Euros_IO Euros_IO.Put (Item => A_Price, Pic => Ada.Text_IO.Editing.To_Picture ("#_###_###_##9"));endExample_Euros;
Code:
Price with cents:
EUR 5,873.26
Integer price:
EUR 5,873Specification
-- 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 -- -------------------------------------------------------------------------packageAda.Text_IO.EditingistypePictureisprivate;functionValid (Pic_String :inString; Blank_When_Zero :inBoolean := False)returnBoolean;functionTo_Picture (Pic_String :inString; Blank_When_Zero :inBoolean := False)returnPicture;functionPic_String (Pic :inPicture)returnString;functionBlank_When_Zero (Pic :inPicture)returnBoolean; Max_Picture_Length :constant:= implementation_defined; Picture_Error :exception; Default_Currency :constantString := "$"; Default_Fill :constantCharacter := '*'; Default_Separator :constantCharacter := ','; Default_Radix_Mark :constantCharacter := '.';generictypeNumisdelta<>digits<>; Default_Currency :inString := Text_IO.Editing.Default_Currency; Default_Fill :inCharacter := Text_IO.Editing.Default_Fill; Default_Separator :inCharacter := Text_IO.Editing.Default_Separator; Default_Radix_Mark :inCharacter := Text_IO.Editing.Default_Radix_Mark;packageDecimal_OutputisfunctionLength (Pic :inPicture; Currency :inString := Default_Currency)returnNatural;functionValid (Item :inNum; Pic :inPicture; Currency :inString := Default_Currency)returnBoolean;functionImage (Item :inNum; Pic :inPicture; Currency :inString := Default_Currency; Fill :inCharacter := Default_Fill; Separator :inCharacter := Default_Separator; Radix_Mark :inCharacter := Default_Radix_Mark)returnString;procedurePut (File :inFile_Type; Item :inNum; Pic :inPicture; Currency :inString := Default_Currency; Fill :inCharacter := Default_Fill; Separator :inCharacter := Default_Separator; Radix_Mark :inCharacter := Default_Radix_Mark);procedurePut (Item :inNum; Pic :inPicture; Currency :inString := Default_Currency; Fill :inCharacter := Default_Fill; Separator :inCharacter := Default_Separator; Radix_Mark :inCharacter := Default_Radix_Mark);procedurePut (To :outString; Item :inNum; Pic :inPicture; Currency :inString := Default_Currency; Fill :inCharacter := Default_Fill; Separator :inCharacter := Default_Separator; Radix_Mark :inCharacter := Default_Radix_Mark);endDecimal_Output;privatepragmaImport (Ada, Picture);endAda.Text_IO.Editing;
See also
Wikibook
Ada Style Guide
External examples
- Search for examples of
Ada.Text_IO.Editingin: Rosetta Code, GitHub (gists), any Alire crate or this Wikibook. - Search for posts related to
Ada.Text_IO.Editingin: Stack Overflow, comp.lang.ada or any Ada related page.
Ada Reference Manual
Ada 95
Ada 2005
Ada 2012
Open-Source Implementations
FSF GNAT
- Specification: a-teioed.ads
- Body: a-teioed.adb
drake
- Specification: textio/a-teioed.ads
- Body: textio/a-teioed.adb