I wrote: > The result I would have expected is therefore: > currency = || > positive sign = || > negative sign = || > strfmon result for positive value = | 123| > strfmon result for negative value = | 123|
AIX indeed produces this output. AIX additionally, for the call strfmon (buf, sizeof (buf), "%.2n", 123.5); produces the result "12350" So, this implementation of strfmon is very standards-compliant. But without a distinction between positive and negative values, and without a visible decimal separator, this behaviour is useless, or even dangerous (if a programmer was not aware of this behaviour and has not worked around it). I would vote for removing strfmon() and strfmon_l() from POSIX. Bruno