Format numeric strings
The Informix® ESQL/C library provides special functions that enable you to format numeric expressions as strings.
- rfmtdec()
- Converts an mi_decimal value to a string
- rfmtdouble()
- Converts a C-language double value to a string
- rfmtlong()
- Converts a C-language long integer value to a string
Both the Informix® ESQL/C library and the DataBlade® API library provide functions to convert between mi_decimal values and other C-language data types.
Formatting character | Description |
---|---|
* | This character fills with asterisks any positions in the display field that would otherwise be blank. |
& | This character fills with zeros any positions in the display field that would otherwise be blank. |
# | This character changes leading zeros to blanks. Use this character to specify the maximum leftward extent of a field. |
< | This character left-justifies the numbers in the display field. It changes leading zeros to a null string. |
, | This character indicates the symbol that separates groups of three digits (counting leftward from the units position) in the whole-number part of the value. By default, this symbol is a comma. You can set the symbol with the DBMONEY environment variable. In a formatted number, this symbol appears only if the whole-number part of the value has four or more digits. |
. | This character indicates the symbol that separates the whole-number part of a money value from the fractional part. By default, this symbol is a period. You can set the symbol with the DBMONEY environment variable. You can have only one period in a format string. |
- | This character is a literal. It appears as a minus sign when expr1 is less than zero. When you group several minus signs in a row, a single minus sign floats to the rightmost position that it can occupy; it does not interfere with the number and its currency symbol. |
+ | This character is a literal. It appears as a plus sign when expr1 is greater than or equal to zero and as a minus sign when expr1 is less than zero. When you group several plus signs in a row, a single plus or minus sign floats to the rightmost position that it can occupy; it does not interfere with the number and its currency symbol. |
( | This character is a literal. It appears as a left parenthesis to the left of a negative number. It is one of the pair of accounting parentheses that replace a minus sign for a negative number. When you group several in a row, a single left parenthesis floats to the rightmost position that it can occupy; it does not interfere with the number and its currency symbol. |
) | This is one of the pair of accounting parentheses that replace a minus sign for a negative value. |
$ | This character displays the currency symbol that appears at the front of the numeric value. By default, the currency symbol is the dollar ($) sign. You can set the currency symbol with the DBMONEY environment variable. When you group several dollar signs in a row, a single currency symbol floats to the rightmost position that it can occupy; it does not interfere with the number. |
Any other characters in the formatting mask are reproduced literally in the result.
-
+
(
)
$
For example, if you apply the mask $$$,$$$.## to the number 1234.56, the result is $1,234.56.
When you use rfmtdec(), rfmtdouble(),
or rfmtlong() to format MONEY values, the function
uses the currency symbols that the DBMONEY environment
variable specifies. If you do not set this environment variable, the
numeric-formatting functions use the currency symbols that the client
locale defines. The default locale, US English, defines currency symbols
as if you set DBMONEY to $,.
.
For more information about locales, see the Informix® GLS User's
Guide.
b
represents a blank or
space. Formatting mask | Numeric value | Formatted result |
---|---|---|
"#####" |
0 |
bbbbb |
"##,###" |
12345 |
12,345 |
"&&,&&&" |
12345 |
12,345 |
"$$,$$$" |
12345 |
***** (overflow) |
"**,***" |
12345 |
12,345 |
"##,###.##" |
12345.67 |
12,345.67 |
"&&,&&&.&&" |
.67 |
000000.67 |
"$$,$$$.$$" |
12345.67 |
********* (overflow) |
"-##,###.##" |
-12345.67 |
-12,345.67 |
"-##,###.##" |
12345.67 |
b12,345.67 |
"-$$$,$$$.&&" |
-12345.67 |
-$12,345.67 |
"----,--$.&&" |
-12345.67 |
-$12,345.67 |
"$***,***.&&" |
12345.67 |
$*12,345.67 |
"($$$,$$$.&&)" |
-12345.67 |
($12,345.67) |
"(($$,$$$.&&)" |
-12345.67 |
($12,345.67) |
"($$$,$$$.&&)" |
12345.67 |
b$12,345.67 |
"(($$,$$$.&&)" |
12345.67 |
b$12,345.67 |
"((((,(($.&&)" |
12345.67 |
b$12,345.67 |
"<<<,<<<" |
12345 |
12,345 |