Ada Programming/Libraries/Ada.Text IO.Editing
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_Eurosis
type
Euro_Price_Typeis
delta
0.Category:Book:Ada Programming/Pages containing deprecated templates01digits
6;package
Euros_IOis
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;
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.Editingis
type
Pictureis
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
Numis
delta
<>Category:Book:Ada Programming/Pages containing deprecated templatesdigits
<>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_Outputis
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
- Search for examples of
Ada.Text_IO.Editing
in: Rosetta Code, GitHub (gists), any Alire crate or this Wikibook. - Search for posts related to
Ada.Text_IO.Editing
in: 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