*nix Documentation Project
·  Home
 +   man pages
·  Linux HOWTOs
·  FreeBSD Tips
·  *niX Forums

  man pages->IRIX man pages -> strfmon (3s)              
Title
Content
Arch
Section
 

Contents


strfmon(3S)							   strfmon(3S)


NAME    [Toc]    [Back]

     strfmon - convert monetary	value to string

SYNOPSIS    [Toc]    [Back]

     #include <monetary.h>

     ssize_t strfmon(const char	*s, size_t maxsize, const char *format,	...);

DESCRIPTION    [Toc]    [Back]

     strfmon places characters into the	array pointed to by s as controlled by
     the string	pointed	to by format. No more than maxsize bytes are placed
     into the array.

     The format	is a character string that contains two	types of objects:
     plain characters, which are simply	copied to the output stream, and
     conversion	specifications,	each of	which results in the fetching of zero
     or	more arguments which are converted and formatted. The results are
     undefined if there	are insufficient arguments for the format.  If the
     format is exhausted while arguments remain, the excess arguments are
     simply ignored.

     A conversion specification	consists of the	following sequence:

     --	  a % character

     --	  optional flags

     --	  optional field width

     --	  optional left	precision

     --	  optional right precision

     --	  a required conversion	character that determines the conversion to be
	  performed.

     Flags    [Toc]    [Back]

     One  or more of the following optional flags can be specified to control
     the conversion:

     =f	       An = followed by	a single character f which is used as the
	       numeric fill character.	The fill character must	be
	       representable in	a single byte in order to work with precision
	       and width counts.  The default numeric fill character is	the
	       space character.	 This flag does	not affect field width filling
	       which always uses the space character.  This flag is ignored
	       unless a	left precision (see below) is specified.

     ^	       Do not format the currency amount with grouping characters.
	       The default is to insert	the grouping characters	if defined for
	       the current locale.



									Page 1






strfmon(3S)							   strfmon(3S)



     + or (    Specify the style of representing positive and negative
	       currency	amounts. Only one of + or ( may	be specified. If + is
	       specified, the locale's equivalent of + and - are used (for
	       example,	in the U.S.A.: the empty string	if positive and	- if
	       negative).  If (	is specified, negative amounts are enclosed
	       within parentheses.  If neither flag is specified, the +	style
	       is used.

     !	       Suppress	the currency symbol from the output conversion.

     -	       Specify the alignment.  If this flag is present all fields are
	       left-justified (padded to the right) rather than	rightjustified.


     Field Width    [Toc]    [Back]

     w	  A decimal digit string w specifying a	minimum	field width in bytes
	  in which the result of the conversion	is right-justified (or leftjustified
 if the flag	- is specified).  The default is 0.

     Left Precision    [Toc]    [Back]

     #n	  A # followed by a decimal digit string n specifying a	maximum	number
	  of digits expected to	be formatted to	the left of the	radix
	  character. This option can be	used to	keep the formatted output from
	  multiple calls to the	strfmon	aligned	in the same columns. It	can
	  also be used to fill unused positions	with a special character as in
	  $***123.45. This option causes an amount to be formatted as if it
	  has causes an	amount to be formatted as if it	has the	number of
	  digits specified by n. If more than n	digit positions	are required,
	  this conversion specification	is ignored.  Digit positions in	excess
	  of those actually required are filled	with the numeric fill
	  character (see the =f	flag above).

     If	grouping has not been suppressed with the ^ flag, and it is defined
     for the current locale, grouping separators are inserted before the fill
     characters	(if any) are added.  Grouping separators are not applied to
     fill characters even if the fill character	is a digit.

     To	ensure alignment, any characters appearing before or after the number
     in	the formatted output such as currency or sign symbols are padded as
     necessary with space characters to	make their positive and	negative
     formats an	equal length.

     Right Precision    [Toc]    [Back]

     .p	  A period followed by a decimal digit string p	specifying the number
	  of digits after the radix character. If the value of the right
	  precision p is 0, no radix character appears.	 If a right precision
	  is not included, a default specified by the current locale is	used.
	  The amount being formatted is	rounded	to the specified number	of
	  digits prior to formatting.



									Page 2






strfmon(3S)							   strfmon(3S)



     Conversion	Characters

     The conversion characters and their meanings are:

     i	  The double argument is formatted according to	the locale's
	  international	currency format	(for example, in the U.S.A.: USD
	  1,234.56).

     n	  The double argument is formatted according to	the locale's national
	  currency format (for example,	in the U.S.A.: $1,234.56).

     %	  Convert to a %; no argument is converted.  The entire	conversion
	  specification	must be	%%.

     Locale Information    [Toc]    [Back]

     The LC_MONETARY category of the program's locale affects the behaviour of
     this function including the monetary radix	character (which may be
     different from the	numeric	radix character	affected by the	LC_NUMERIC
     category),	the grouping separator,	the currency symbols and formats. The
     international currency symbol should be conformant	with the ISO 4217:
     1987 standard.

     The monetary formatting information being unavailable in the POSIX
     locale, the result	is undefined.

RETURN VALUE    [Toc]    [Back]

     If	the total number of resulting bytes including the terminating null
     byte is not more than maxsize, strfmon returns the	number of bytes	placed
     into the array pointed to by s, not including the terminating null	byte.
     Otherwise,	-1 is returned,	the contents of	the array are indeterminate,
     and errno is set to indicate the error.

ERRORS    [Toc]    [Back]

     strfmon will fail if:

     [E2BIG]   Conversion stopped due to lack of space in the buffer.

SEE ALSO    [Toc]    [Back]

      
      
     localeconv().


									PPPPaaaaggggeeee 3333
[ Back ]
 Similar pages
Name OS Title
strfmon Linux convert monetary value to a string
strfmon Tru64 Formats monetary strings
montbl IRIX create monetary database
mbsrtowcs Linux convert a multibyte string to a wide character string
mbsnrtowcs Linux convert a multibyte string to a wide character string
wcstombs Linux convert a wide character string to a multibyte string
mbstowcs Linux convert a multibyte string to a wide character string
wcsnrtombs Linux convert a wide character string to a multibyte string
wcsrtombs Linux convert a wide character string to a multibyte string
cap_from_text IRIX convert a POSIX capabilities string to internal form, convert capabilities to a POSIX capabilities string, or
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service