Difference between revisions of "PRINTF()"

From Recital Documentation Wiki
Jump to: navigation, search
 
 
(5 intermediate revisions by one user not shown)
Line 1: Line 1:
{{YLM to do}}
 
 
==Purpose==
 
==Purpose==
Function to perform 'C' style picture formatting
+
Function to display a string with 'C' style picture formatting
  
  
Line 9: Line 8:
  
 
==See Also==
 
==See Also==
[[ETOS()]], [[FPRINTF()]], [[SPRINTF()]], [[TOSTRING()]]
+
[[ETOS()]], [[FPRINTF()]], [[LOGF()]], [[SPRINTF()]], [[TOSTRING()]]
  
  
 
==Description==
 
==Description==
The PRINTF() function displays a string including one or more parameters, <exp1> [,<exp2>...], formatted according to the 'C' style options specified in <expC>.  Each formatting sequence is applied to the corresponding parameter in the parameter list from left to right.  
+
The PRINTF() function displays a string including one or more parameters, <exp1> [,<exp2>...], formatted according to the 'C' style options specified in <expC>.  Each formatting sequence is applied to the corresponding parameter in the parameter list from left to right.
 +
 
  
 
{| class="wikitable"
 
{| class="wikitable"
 
!Formatting option||Description
 
!Formatting option||Description
 
|-
 
|-
|%s||
+
|%s||Convert to character string (similar to using [[ETOS()]] or [[TOSTRING()]]
 
|-
 
|-
|%d||
+
|%d||For date parameters
 
|-
 
|-
|%f||
+
|%f||For floating point numeric parameters
 
|-
 
|-
|%y||
+
|%y||For currency parameters
 
|-
 
|-
|%t||
+
|%t||For datetime parameters
 
|-
 
|-
|%T||
+
|%T||For datetime parameters; character day is also displayed
 
|-
 
|-
|%l||
+
|%l||For logical parameters: True, False
 
|-
 
|-
|%L||
+
|%L||For logical parameters: Yes, No
 
|-
 
|-
 
|}   
 
|}   
 +
 +
 +
Formatting sequences can also contain the following options.  These are specified in order, between the '%' and the data type letter.
 +
 +
 +
{| class="wikitable"
 +
!Formatting option||Description
 +
|-
 +
|&#045;||Left-justify
 +
|-
 +
|n||Left pad with spaces to width n
 +
|-
 +
|n.p||Left pad with spaces to width n and include the decimal point and p decimal places (%f only)
 +
|-
 +
|}
  
  
 
==Example==
 
==Example==
 
<code lang="recital">
 
<code lang="recital">
total = 3001.23
+
// When %s is specified, the corresponding argument is converted to
? transform(total, "$$$$$9.99")
+
// character format (similar to specifying etos()).
$3001.23
+
// Widths correspond to the default values, e.g. numerics are 10
 
+
printf('It is %s, %s to be more precise\n',year(date()),datetime())
? transform((0x1a * 2),"@0")
+
printf('The value of pi is %s\n',pi())
0x00000034
+
printf('They cost %s per %s\n',$99,100)
 +
printf('Logicals can be %s or %s\n',.T.,.F.)
 +
// Formatting sequences can contain a width, which will left pad with spaces
 +
printf('Right-justify and pad left: %10s this\n','Like')
 +
// Left justify by placing a '-' directly following the '%' character
 +
printf('Left-justify and pad right: %-10s this\n','Like')
 +
// %d is for numerics
 +
printf('It is %d\n',year(date()))
 +
// %t and %T are for formating datetime data types.
 +
printf('It is %d, %t to be more precise\n',year(date()),datetime())
 +
printf('It is %d, %T to be even more precise\n',year(date()),datetime())
 +
// %f is for floating point numerics
 +
printf('The value of pi is %f\n',pi())
 +
// Decimal places can also be specified for floating point numerics (%f)
 +
printf('The value of pi to two decimal places is %4.2f\n',pi())
 +
// %y is for formatting currency data types
 +
printf('They cost %y per %d\n',$99,100)
 +
printf('They cost %y per %d\n',$99,1000)
 +
printf('They cost %y per %d\n',$99,10000)
 +
//%l and %L are for formatting logical datatypes.
 +
printf('Logicals can be %l or %l\n',.T.,.F.)
 +
printf('Logicals can also be %L or %L\n',.T.,.F.)
 
</code>
 
</code>
 +
 +
<pre>
 +
It is      2009, 11/11/2009 11:41:51 AM to be more precise
 +
The value of pi is  3.1415926
 +
They cost $99.0000 per        100
 +
Logicals can be True or False
 +
Right-justify and pad left:      Like this
 +
Left-justify and pad right: Like      this
 +
It is 2009
 +
It is 2009, 11/11/2009 11:41:51 AM to be more precise
 +
It is 2009, Wednesday November 11 2009 11:41:51 to be even more precise
 +
The value of pi is 3.141593
 +
The value of pi to two decimal places is 3.14
 +
They cost $99.0000 per 100
 +
They cost $99.0000 per 1000
 +
They cost $99.0000 per 10000
 +
Logicals can be True or False
 +
Logicals can also be Yes or No
 +
</pre>
  
  
 
==Products==
 
==Products==
Recital Database Server, Recital Mirage Server, Recital Terminal Developer
+
Recital, Recital Server
 
[[Category:Documentation]]
 
[[Category:Documentation]]
 
[[Category:Functions]]
 
[[Category:Functions]]
 
[[Category:Expressions and Type Conversion]]
 
[[Category:Expressions and Type Conversion]]
 
[[Category:Expressions and Type Conversion Functions]]
 
[[Category:Expressions and Type Conversion Functions]]

Latest revision as of 12:03, 5 July 2011

Purpose

Function to display a string with 'C' style picture formatting


Syntax

PRINTF(<expC>, <exp1> [,<exp2>...])


See Also

ETOS(), FPRINTF(), LOGF(), SPRINTF(), TOSTRING()


Description

The PRINTF() function displays a string including one or more parameters, <exp1> [,<exp2>...], formatted according to the 'C' style options specified in <expC>. Each formatting sequence is applied to the corresponding parameter in the parameter list from left to right.


Formatting option Description
%s Convert to character string (similar to using ETOS() or TOSTRING()
%d For date parameters
%f For floating point numeric parameters
%y For currency parameters
%t For datetime parameters
%T For datetime parameters; character day is also displayed
%l For logical parameters: True, False
%L For logical parameters: Yes, No


Formatting sequences can also contain the following options. These are specified in order, between the '%' and the data type letter.


Formatting option Description
- Left-justify
n Left pad with spaces to width n
n.p Left pad with spaces to width n and include the decimal point and p decimal places (%f only)


Example

// When %s is specified, the corresponding argument is converted to 
// character format (similar to specifying etos()).
// Widths correspond to the default values, e.g. numerics are 10
printf('It is %s, %s to be more precise\n',year(date()),datetime())
printf('The value of pi is %s\n',pi())
printf('They cost %s per %s\n',$99,100)
printf('Logicals can be %s or %s\n',.T.,.F.)
// Formatting sequences can contain a width, which will left pad with spaces 
printf('Right-justify and pad left: %10s this\n','Like')
// Left justify by placing a '-' directly following the '%' character 
printf('Left-justify and pad right: %-10s this\n','Like')
// %d is for numerics
printf('It is %d\n',year(date()))
// %t and %T are for formating datetime data types.
printf('It is %d, %t to be more precise\n',year(date()),datetime())
printf('It is %d, %T to be even more precise\n',year(date()),datetime())
// %f is for floating point numerics
printf('The value of pi is %f\n',pi())
// Decimal places can also be specified for floating point numerics (%f) 
printf('The value of pi to two decimal places is %4.2f\n',pi())
// %y is for formatting currency data types
printf('They cost %y per %d\n',$99,100)
printf('They cost %y per %d\n',$99,1000)
printf('They cost %y per %d\n',$99,10000)
//%l and %L are for formatting logical datatypes.
printf('Logicals can be %l or %l\n',.T.,.F.)
printf('Logicals can also be %L or %L\n',.T.,.F.)
It is       2009, 11/11/2009 11:41:51 AM to be more precise
The value of pi is  3.1415926
They cost $99.0000 per        100
Logicals can be True or False
Right-justify and pad left:       Like this
Left-justify and pad right: Like       this
It is 2009
It is 2009, 11/11/2009 11:41:51 AM to be more precise
It is 2009, Wednesday November 11 2009 11:41:51 to be even more precise
The value of pi is 3.141593
The value of pi to two decimal places is 3.14
They cost $99.0000 per 100
They cost $99.0000 per 1000
They cost $99.0000 per 10000
Logicals can be True or False
Logicals can also be Yes or No


Products

Recital, Recital Server