# NLSFormatCurrency (W*S)

NLS Function: Returns a correctly formatted currency string for the current locale.

## Module

USE IFNLS

result = NLSFormatCurrency (outstr,instr[,flags])

outstr | (Output) Character*(*). String containing the correctly formatted currency for the current locale. If outstr is longer than the formatted currency, it is blank-padded.
intstr | (Input) Character*(*). Number string to be formatted. Can contain only the characters '0' through '9', one decimal point (a period) if a floating-point value, and a minus sign in the first position if negative. All other characters are invalid and cause the function to return an error.
flags | (Input; optional) INTEGER(4). If specified, modifies the currency conversion. If you omit flags, the flag NLS$Normal is used. Available values (defined in `IFNLS.F90`) are: NLS$Normal - No special formatting NLS$NoUserOverride - Do not use user overrides

## Results

The result type is INTEGER(4). The result is the number of characters written to outstr(bytes are counted, not multibyte characters). If an error occurs, the result is one of the following negative values:

- NLS$ErrorInsufficentBuffer - outstr buffer is too small

- NLS$ErrorInvalidFlags - flags has an illegal value

- NLS$ErrorInvalidInput - instr has an illegal value

## Example

     USE IFNLS
     CHARACTER(40) str
     INTEGER(4) i
     i = NLSFormatCurrency(str, "1.23")
     print *, str                              ! prints $1.23
     i = NLSFormatCurrency(str, "1000000.99")
     print *, str                              ! prints $1,000,000.99
     i = NLSSetLocale("Spanish", "Spain")
     i = NLSFormatCurrency(str, "1.23")
     print *, str                              ! prints 1 Pts
     i = NLSFormatCurrency(str, "1000000.99")
     print *, str                              ! prints 1.000.001 Pts

Parent topic: National Language Support (NLS) Library Routines

## See Also

NLSFormatNumber
NLSFormatDate
NLSFormatTime