(Quick Reference)
                formatNumber
Purpose
Formats a number using the patterns defined by the 
DecimalFormat class. Also supports attributes used in the JSTL 
formatNumber tag.
Examples
<g:formatNumber number="${myNumber}" format="\\$###,##0" />Example of formatting an EUR currency amount:
<g:formatNumber number="${myCurrencyAmount}" type="currency" currencyCode="EUR" />Example of formatting a USD currency amount:
<g:formatNumber number="${myCurrencyAmount}" type="currency" currencyCode="USD" />For USD, the currency symbol will be based on the locale of the request. For the "en_US" locale, the result is "$123.45" and for "fi_FI" locale, the formatting is "123,45 USD". The formatting rules come from the 
Currency class.
Example of left padding a number with zeros:
<g:formatNumber number="${myNumber}" type="number" minIntegerDigits="9" />Example of formatting a number showing 2 fraction digits:
<g:formatNumber number="${myNumber}" type="number" maxFractionDigits="2" />Example of formatting a number showing 2 fraction digits, rounding with RoundingMode.HALF_DOWN:
<g:formatNumber number="${myNumber}" type="number"
                maxFractionDigits="2" roundingMode="HALF_DOWN" />Description
Attributes
- number(required) - The number object to format
- format(optional) - The formatting pattern to use for the number, see DecimalFormat
- formatName(optional) - Look up- formatfrom the default MessageSource / ResourceBundle (i18n/.properties file) with this key. Look up- formatfrom the default MessageSource / ResourceBundle (i18n/.properties file) with this key. If- formatand- formatNameare empty,- formatis looked up with '- default.number.format' key. If the key is missing, '0' formatting pattern is used.
- type(optional) - The type of formatter to use: 'number', 'currency' or 'percent' .- formator- formatNamearen't used when- typeis specified.
- locale(optional) - Override the locale of the request , String or Locale value
- groupingUsed(optional) - Set whether grouping will be used in this format.
- minIntegerDigits(optional) - Sets the minimum number of digits allowed in the integer portion of a number.
- maxIntegerDigits(optional) - Sets the maximum number of digits allowed in the integer portion of a number.
- minFractionDigits(optional) - Sets the minimum number of digits allowed in the fraction portion of a number.
- maxFractionDigits(optional) - Sets the maximum number of digits allowed in the fraction portion of a number.
- currencyCode(optional) - The standard currency code ('EUR', 'USD', etc.), uses formatting settings for the currency. type='currency' attribute is recommended.
- currencySymbol(optional) - Force the currency symbol to some symbol, recommended way is to use- currencyCodeattribute instead (takes symbol information from Currency)
- roundingMode(optional) - Sets the RoundingMode used in this DecimalFormat. Usual values:- HALF_UP,- HALF_DOWN. If roundingMode is- UNNECESSARYand an- ArithemeticExceptionoccurs, the original number formatted with default number formatting will be returned.
Source