It might not be quite as simple to setup/call compared to using a line of embedded java, but if your response from the force.com platform is an XML document/fragment, you could use XSLT.
Here's a contrived example with all the source/demo data embedded directly into the script so that it can be tried out for yourself:
<gel:script
xmlns:gel="jelly:com.niku.union.gel.GELTagLibrary"
xmlns:x="jelly:org.apache.commons.jelly.tags.xml.XMLTagLibrary">
<!-- sample XML data to play with -->
<gel:parse var="xog_data">
<NikuDatabus attribute="value">
<Header object="test" />
<Record code="uniqueval">
<CustomInformation>
<CustomColumnValue name="partition_code">NIKU.ROOT</CustomColumnValue>
<CustomColumnValue name="formatme">8.0</CustomColumnValue>
<CustomColumnValue name="formatme2">12348.3</CustomColumnValue>
<CustomColumnValue name="formatme3">12348.3</CustomColumnValue>
<CustomColumnValue name="formateu">633412348.4</CustomColumnValue>
</CustomInformation>
</Record>
<XOGOutput>
<SomeElements someAttribute="somevalue" />
</XOGOutput>
</NikuDatabus>
</gel:parse>
<!-- XSL Transformation templates -->
<gel:parse var="xog_xsl">
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<!-- identity template -->
<xsl:template match="@*|node()">
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:template>
<!-- removal template -->
<xsl:template match="XOGOutput" />
<!-- number formatting templates -->
<xsl:decimal-format name="european" decimal-separator="," grouping-separator="."/>
<xsl:template match="CustomColumnValue[@name='formatme' or @name='formatme2']/text()">
<xsl:value-of select="format-number(., '###.#')"/>
</xsl:template>
<xsl:template match="CustomColumnValue[@name='formatme3']/text()">
<xsl:value-of select="format-number(., '#')"/>
</xsl:template>
<xsl:template match="CustomColumnValue[@name='formateu']/text()">
<xsl:value-of select="format-number(., '.###,#', 'european')"/>
</xsl:template>
</xsl:stylesheet>
</gel:parse>
<gel:set asString="true" select="$xog_data" var="before" />
<!-- re-parse from GEL to XML library variable format -->
<x:parse var="xog_xsl"><gel:include select="$xog_xsl" /></x:parse>
<x:parse var="xog_data"><gel:include select="$xog_data" /></x:parse>
<!-- transform and catch back to GEL variable, here is where the work takes place-->
<gel:parse var="xog_corrected">
<x:transform xml="${xog_data}" xslt="${xog_xsl}" />
</gel:parse>
<!-- showing the effect -->
<gel:set asString="true" select="$xog_corrected" var="after" />
<gel:out>Before: 
 ${before}</gel:out>
<gel:out>After: 
 ${after}</gel:out>
</gel:script>
Produces this result when ran:
C:\Users\Topdog\Downloads\GEL>gel -script xslt.gel
Warning: JAVA_HOME environment variable is not set.
Before:
<?xml version="1.0" encoding="UTF-8"?>
<NikuDatabus attribute="value">
<Header object="test"/>
<Record code="uniqueval">
<CustomInformation>
<CustomColumnValue name="partition_code">NIKU.ROOT</CustomColumnValue>
<CustomColumnValue name="formatme">8.0</CustomColumnValue>
<CustomColumnValue name="formatme2">12348.3</CustomColumnValue>
<CustomColumnValue name="formatme3">12348.3</CustomColumnValue>
<CustomColumnValue name="formateu">633412348.4</CustomColumnValue>
</CustomInformation>
</Record>
<XOGOutput>
<SomeElements someAttribute="somevalue"/>
</XOGOutput>
</NikuDatabus>
After:
<?xml version="1.0" encoding="UTF-8"?>
<NikuDatabus attribute="value">
<Header object="test"/>
<Record code="uniqueval">
<CustomInformation>
<CustomColumnValue name="partition_code">NIKU.ROOT</CustomColumnValue>
<CustomColumnValue name="formatme">8</CustomColumnValue>
<CustomColumnValue name="formatme2">12348.3</CustomColumnValue>
<CustomColumnValue name="formatme3">12348</CustomColumnValue>
<CustomColumnValue name="formateu">633.412.348,4</CustomColumnValue>
</CustomInformation>
</Record>
</NikuDatabus>
C:\Users\Topdog\Downloads\GEL>
The European formatting with thousands separator is just there for demonstration; if you wanted to keep it understood as a numeric format as you continue working with the XML, stick to '.' for decimal separation and no thousands separator character. You can also convert from a European formatted number string to an XML numeric with a little more work also.
http://www.w3schools.com/xsl/func_formatnumber.asp
Two other templates exist in this XSLT demo, which are staple templates for many transforms; first the identity template, which is an 'if nothing else needs to be done, copy from source to destination' action otherwise you'd have a fairly empty document at the end, and then a removal template to optionally discard elements/fragments entirely if desired. There are functions for string manipulation available too, for when that is needed.