OK. Bearing in mind Gary's historical treatise and kai's love of
one-liners, how about this?
Wondered where you'd got to, Mr. G. ;-)
Very nicely optimised for performance, too - although, on my machine,
this seems to *just* have the edge (by a mere squeak):
------------------
on currency_format for v
tell (v mod 1 as text) * 100 to tell (it ^ 2) ^ 0.5 + 0.5 to (v div
1 as text) & (0.0 as text)'s character 2 & it div 1
end currency_format
currency_format for -123.4
--> "-123,40" / "-123.40" (* depending on local currency formatting *)
------------------
(Incidentally, when the decimal part of the input number is .565, .
57, .575 or .58, I noticed a few rounding variations between the
approaches.)