The expression I posted will in fact accept both whole numbers and numbers that already contain decimals. For example, you've got a value of "12.1", the expression will return "12.10". However, there is also a way to use FormatNumber to return a currency value. :)
To do so you need to specify the fourth argument called OutputCulture so that it returns the correct currency value. The following example will return a currency value in pounds:
FormatNumber(CalculationResult,"en-GB","{0:C}","en-GB");
For example, if CalculationResult holds a value of "200.5" this expression will return "£200.50", with the decimal points and the currency symbol for the specified culture, which in this case is Great Britain.
Does that help at all? :)