Revision as of 03:57, 30 November 2013 editDiannaa (talk | contribs)Autopatrolled, Administrators349,971 editsm Disambiguated: datum → data | fixed dashes using a script← Previous edit | Revision as of 08:45, 21 March 2014 edit undo119.160.118.162 (talk) ←Replaced content with 'A '''picture clause''' is an element in programming languages that is used to describe a datum, by using sample characters that indicate the ite...'Next edit → | ||
Line 2: | Line 2: | ||
== History == | == History == | ||
The picture clause was first used in the ] ( | |||
The picture clause was first used in the ] (Commercial Translator) language developed by ] of ] in 1957. In 1959, it was incorporated into the original definition of ]. Since then, many other programming languages have copied this feature. | |||
== Formatting == | |||
A picture clause is made up of various format characters, each of which represents a certain portion of the data item. Each format character can be repeated or followed by a repeat number, which specifies the number of times the format item occurs in the data item. Some examples (from COBOL) are: | |||
{| class="wikitable" width="80%" | |||
|- bgcolor="#F0F0F0" | |||
! Character | |||
! Description | |||
|- | |||
|bgcolor="#E0FFFF" align="center"| '''A''' | |||
|Alphabetic character (<code>A-Z</code>, <code>a-z</code>, or blank) | |||
|- | |||
|bgcolor="#E0FFFF" align="center"| '''B''' | |||
|Blank (space) character | |||
|- | |||
|bgcolor="#E0FFFF" align="center"| '''CR''' | |||
|Sign indicator (<code>'CR'</code> if negative, blanks if positive) | |||
|- | |||
|bgcolor="#E0FFFF" align="center"| '''DB''' | |||
|Sign indicator (<code>'DB'</code> if negative, blanks if positive) | |||
|- | |||
|bgcolor="#E0FFFF" align="center"| '''E''' | |||
|Floating-point exponent<ref name="extension">Non-standard extension provided by ] and others</ref> | |||
|- | |||
|bgcolor="#E0FFFF" align="center"| '''G''' | |||
|Double-byte (]) graphic/alphanumeric character<ref name="extension"/> | |||
|- | |||
|bgcolor="#E0FFFF" align="center"| '''N''' | |||
|Double-byte (DBCS) character<ref name="extension"/> | |||
|- | |||
|bgcolor="#E0FFFF" align="center"| '''P''' | |||
|Implied scaling digit (not displayed) | |||
|- | |||
|bgcolor="#E0FFFF" align="center"| '''S''' | |||
|Implied sign (not displayed) | |||
|- | |||
|bgcolor="#E0FFFF" align="center"| '''V''' | |||
|Implied decimal point (not displayed) | |||
|- | |||
|bgcolor="#E0FFFF" align="center"| '''X''' | |||
|Any character, alphabetic, numeric, or other symbol | |||
|- | |||
|bgcolor="#E0FFFF" align="center"| '''Z''' | |||
|Numeric digit, but leading-zero-suppressed (replaced by a blank when equal to zero) | |||
|- | |||
|bgcolor="#E0FFFF" align="center"| '''0''' | |||
|Inserted <code>'0'</code> digit | |||
|- | |||
|bgcolor="#E0FFFF" align="center"| '''9''' | |||
|Numeric digit (<code>0-9</code>) | |||
|- | |||
|bgcolor="#E0FFFF" align="center"| '''/''' | |||
|Inserted <code>'/'</code> character | |||
|- | |||
|bgcolor="#E0FFFF" align="center"| ''',''' | |||
|Inserted digit group separator<ref name="comma">The comma and decimal point can be switched for European use</ref> | |||
|- | |||
|bgcolor="#E0FFFF" align="center"| '''.''' | |||
|Inserted decimal point<ref name="comma"/> | |||
|- | |||
|bgcolor="#E0FFFF" align="center"| '''+''' | |||
|Sign (<code>'-'</code> if negative, <code>'+'</code> if positive) | |||
|- | |||
|bgcolor="#E0FFFF" align="center"| '''-''' | |||
|Sign (<code>'-'</code> if negative, blank if positive) | |||
|- | |||
|bgcolor="#E0FFFF" align="center"| '''$''' | |||
|Floating currency sign (blank for leading zeroes, <code>'$'</code> to the left of the most significant digit, otherwise digit <code>0-9</code>) | |||
|- | |||
|bgcolor="#E0FFFF" align="center"| '''*''' | |||
|Floating digit fill (<code>'*'</code> for leading zeroes, otherwise digit <code>0-9</code>) | |||
|} | |||
== Examples == | |||
Examples from COBOL. | |||
{| class="wikitable" border="1" | |||
|- bgcolor="honeydew" | |||
! Picture clause!! Data type!! Sample values | |||
|- | |||
||<code>PIC 999</code> ||3-digit number || 123, 005, 087, any number from 000 through 999 | |||
|- | |||
||<code>PIC S999</code> ||3-digit internally signed number || +123, −005, +087, any number from −999 through +999, sign is not displayed | |||
|- | |||
||<code>PIC +999</code> ||3-digit output signed number || +123, −005, +087, any number from −999 through +999, with sign displayed | |||
|- | |||
||<code>PIC ZZ9</code> ||3-digit number, leading zeros suppressed || 123, 5, 87, any number from 000 through 999 | |||
|- | |||
||<code>PIC A(8)</code> ||8-character alphabetic string || <code>"Fredrick"</code>, <code>"Fred "</code>, <code>"Fred Jr "</code>, any string of 8 alphabetic letters (may include spaces) | |||
|- | |||
||<code>PIC X(8)</code> ||8-character string || <code>"Smithson"</code>, <code>"O'Riley "</code>, <code>"Bon-Jovi"</code>, <code>"23Skidoo"</code>, any string of 8 characters (may include any valid character) | |||
|- | |||
|} | |||
== Footnotes == | |||
<references/> | |||
{{prog-lang-stub}} | |||
] | |||
] | |||
] |
Revision as of 08:45, 21 March 2014
A picture clause is an element in programming languages that is used to describe a datum, by using sample characters that indicate the item characteristics and size.
History
The picture clause was first used in the COMTRAN (