SPRINTF()
From Recital Documentation Wiki
Purpose
Function to return a string with 'C' style picture formatting
Syntax
SPRINTF(<expC>, <exp1> [,<exp2>...])
See Also
ETOS(), FPRINTF(), PRINTF(), TOSTRING()
Description
The SPRINTF() function returns 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 cVAR=sprintf('It is %s, %s to be more precise',year(date()),datetime()) echo cVAR cVAR=sprintf('The value of pi is %s',pi()) echo cVAR cVAR=sprintf('They cost %s per %s',$99,100) echo cVAR cVAR=sprintf('Logicals can be %s or %s',.T.,.F.) echo cVAR // Formatting characters can contain a width, which will left pad with spaces cVAR=sprintf('Right-justify and pad left: %10s this','Like') echo cVAR // Left justify by placing a '-' directly following the '%' character cVAR=sprintf('Left-justify and pad right: %-10s this','Like') echo cVAR // %d is for numerics cVAR=sprintf('It is %d',year(date())) echo cVAR // %t and %T are for formating datetime data types. cVAR=sprintf('It is %d, %t to be more precise',year(date()),datetime()) echo cVAR cVAR=sprintf('It is %d, %T to be even more precise',year(date()),datetime()) echo cVAR // %f is for floating point numerics cVAR=sprintf('The value of pi is %f',pi()) echo cVAR // Decimal places can also be specified for floating point numerics (%f) cVAR=sprintf('The value of pi to two decimal places is %4.2f',pi()) echo cVAR // %y is for formatting currency data types cVAR=sprintf('They cost %y per %d',$99,100) echo cVAR cVAR=sprintf('They cost %y per %d',$99,1000) echo cVAR cVAR=sprintf('They cost %y per %d',$99,10000) echo cVAR //%l and %L are for formatting logical datatypes. cVAR=sprintf('Logicals can be %l or %l',.T.,.F.) echo cVAR cVAR=sprintf('Logicals can also be %L or %L',.T.,.F.) echo cVAR
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