Misplaced Pages

Picture clause: Difference between revisions

Article snapshot taken from Wikipedia with creative commons attribution-sharealike license. Give it a read and then ask your questions in the chat. We can research this topic together.
Browse history interactively← Previous editNext edit →Content deleted Content addedVisualWikitext
Revision as of 10:48, 28 August 2008 editT-bonham (talk | contribs)Extended confirmed users1,121 editsm ExamplesThese examples are from COBOL.← Previous edit Revision as of 17:15, 5 April 2009 edit undoJoey-das-WBF (talk | contribs)Extended confirmed users812 editsm ExamplesThese examples are from COBOL.: made example clearer by using non-breaking spaces instead of spaces (which collapse)Next edit →
Line 89: Line 89:
||PIC ZZ9 ||3-digit number, leading zeros suppressed || 123, 5, 87, any number from 000 through 999 ||PIC ZZ9 ||3-digit number, leading zeros suppressed || 123, 5, 87, any number from 000 through 999
|- |-
||PIC A(8) ||8-character alphabetic string || "Fredrick", "Fred ", any string of 8 alphabetic letters (may include spaces) ||PIC A(8) ||8-character alphabetic string || "Fredrick", "Fred    ", any string of 8 alphabetic letters (may include spaces)
|- |-
||PIC X(8) ||8-character string || "Smithson", "O'Riley ", "Bon-Jovi", "23Skidoo", any string of 8 characters (may include any valid character) ||PIC X(8) ||8-character string || "Smithson", "O'Riley ", "Bon-Jovi", "23Skidoo", any string of 8 characters (may include any valid character)

Revision as of 17:15, 5 April 2009

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 (Commercial Translator) language developed by Bob Bemer of IBM in 1957. In 1959, it was incorporated into the original definition of COBOL. 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:

Character Description
A Alphabetic character (A-Z, a-z, or blank)
B Blank (space) character
CR Sign indicator ('CR' if negative, blanks if positive)
DB Sign indicator ('DB' if negative, blanks if positive)
E Floating-point exponent
G Double-byte (DBCS) graphic/alphanumeric character
N Double-byte (DBCS) character
P Implied scaling digit (not displayed)
S Implied sign (not displayed)
V Implied decimal point (not displayed)
X Any character, alphabetic, numeric, or other symbols
Z Numeric digit, but leading-zero-suppressed (replaced by a blank when equal to zero)
0 Inserted '0' digit
9 Numeric digit (0-9)
/ Inserted '/' character
, Inserted digit group separator
. Inserted decimal point
+ Sign ('-' if negative, '+' if positive)
- Sign ('-' if negative, blank if positive)
$ Floating currency sign (blank for leading zeroes, '$' to the left of the most significant digit, otherwise digit 0-9)
* Floating digit fill ('*' for leading zeroes, otherwise digit 0-9)

Examples

picture clause data type sample contents
PIC 999 3-digit number 123, 005, 087, any number from 000 through 999
PIC S999 3-digit internally signed number +123, -005, +087, any number from -999 through +999
PIC +999 3-digit output signed number +123, -005, +087, any number from -999 through +999, with sign displayed.
PIC ZZ9 3-digit number, leading zeros suppressed 123, 5, 87, any number from 000 through 999
PIC A(8) 8-character alphabetic string "Fredrick", "Fred    ", any string of 8 alphabetic letters (may include spaces)
PIC X(8) 8-character string "Smithson", "O'Riley ", "Bon-Jovi", "23Skidoo", any string of 8 characters (may include any valid character)

Footnotes

  1. ^ Non-standard extension provided by IBM and others.
  2. ^ The comma and decimal point can be switched for European use.
  3. These examples are from COBOL.


Stub icon

This computer science article is a stub. You can help Misplaced Pages by expanding it.

Categories: