def formatNumber = { attrs -> if (!attrs.containsKey('number'))
throwTagError("Tag [formatNumber] is missing required attribute [number]") def number = attrs.get('number')
if (number == null) returnelseif(!(number instanceofNumber)) {
number = number.toString().toInteger()
} def formatName = attrs.get('formatName')
def format = attrs.get('format') if(!format && formatName) {
format = message(code:formatName)
if(!format) throwTagError("Attribute [formatName] of Tag [formatNumber] specifies a format key [$formatName] that does not exist within a message bundle!")
}
elseif (!format) {
format = message(code: "number.format", default: message(code: "default.number.format", default: "0"))
} final def locale = RCU.getLocale(request)
def dcfs = locale ?
new DecimalFormatSymbols( locale ) :
new DecimalFormatSymbols() def decimalFormat = new java.text.DecimalFormat( format, dcfs ) out << decimalFormat.format((Double)number)
}