jvs:cigal:manual:chapter3:format
CIGAL Reference Manual, Chapter 3 (Functions): FORMAT
FORMAT -- Convert data values to character string, specifying format
usage: str = format(fmtstring,varb1,varb2,…)
The FORMAT function converts data variables to a character string according to the conversion format specified in the FMTSTRING argument. This function converts single-valued variables to a character string. To convert multi-valued variables to text use the FTYPE command (the output of FTYPE can be displayed on the screen, stored in a text file, or stored in a string list variable (see FTYPE(2))).
The format command string FMTSTRING specifies the output string according to the following rules:
1) FMTSTRING characters not preceded by \ or % copy directly to the output string. 2) the character \ followed by one or more characters convert according to the following table: \b BACKSPACE character (10o) \t spaces to next TAB (see [TAB][4]) \e ESCAPE character (33o) \\ \ character \f FORMFEED character (14o) \' ' character \n NEWLINE character (12o) \" " character \r RETURN character (15o) \nnn where nnn are digits 0-7, results in the ascii character with value NNN (octal) 3) 2 % characters (%%) are converted to a single % character on output. 4) the character % followed by character(s) of the form: %N.M<charcode> (where N and M are optional numbers and CHARCODE is a letter), are replaced with the ascii string for the value of the next element in the data list. Unless otherwise indicated, if N is specified it indicates the number of characters in the output string. If N is negative, the converted output is left justified within the N space field, otherwise it is right justified. If the number N starts with a 0 and the output converts to a number, the justified field is padded with 0's instead of blanks. The type of data conversion and the meaning of M depend upon the CHARCODE, as follows: s copy character string variable to output d convert an integer in base 10 (decimal) b convert an integer in base 2 (binary) q convert an integer in base 4 o convert an integer in base 8 (octal) h convert an integer in base 16 (hexidecimal) x convert an integer in base 16 (hexidecimal) i convert an integer using the current value of the system variable OBASE as the number base f convert a floating point value with M digits to the right of the decimal point (Note: you can use any of the characters .,:;_/ to separate the integral and decimal parts; see examples) v convert a vector variable to 6 output values c convert a value to the single character with that ascii code C convert an array of values as a string of ascii characters ( repeat the format between here and the corresponding %), N times ) paired with a %( for repeating format specifications t space over to the N'th output character Note: CHARCODEs FIDBQOHX and # are also recognized as format codes by the FTYPE command, but not by the FORMAT command.
Examples:
Assume variables a=123.654 b=92.123 d=12 m=2 i1={113,97,48,49} format("Val=%5.2f degrees",a) --> Val=12.65 degrees format("%d/%d/%d\n",d,m,b) --> 12/2/92<Newline> format("%3(%3o %)\n",a,b,d) --> 173 134 14 <Newline> format("%C %c",i1,d) --> qb01 <Formfeed> format("%5:2f %05/2f",hour,day) --> 15:05 09/04
See Also:
FTYPE(2),
OBASE(4),
TAB(4),
TABS(4),
VARIABLES(1)
jvs/cigal/manual/chapter3/format.txt · Last modified: 2024/06/21 15:44 by 127.0.0.1