[fpc-pascal] Currency symbol wrong location
Ludo Brands
ludo.brands at free.fr
Sat Jun 9 17:54:41 CEST 2012
> This is as per doc?
>
> http://www.freepascal.org/docs-html/rtl/sysutils/format.html
>
> FloatToStrF(Argument,ffGeneral,Precision,3)
>
> M Currency format. the next argument in the var{Args}
> array must be a
> floating point value. The argument is converted to a decimal
> string using currency notation. This means that fixed-point
> notation is used, but that the currency symbol is appended.
> If precision is specified, then then it overrides the
> CurrencyDecimals global variable used in the FloatToStrF
>
> In short, the M specifier formats it's argument as follows:
>
> FloatToStrF(Argument,ffCurrency,9999,Precision)
>
> Note the /append/ :-)
>
Then there seems to be a contradiction in the doc. The position of the
currency symbol in FloatToStrF with ffCurrency is determined by
CurrencyFormat.
CurrencyFormat:=0;
s:=FloatToStrF(123.25,ffCurrency,5,2);
s:=Format('%m', [123.25]);
Both calls return $123.25 in s.
Ludo
More information about the fpc-pascal
mailing list