Использование :
format-number(translate(., ',','.'), '#.###,000', 'd')
Это преобразование :
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="text"/>
<xsl:decimal-format name="d"
decimal-separator="," grouping-separator="."/>
<xsl:template match="/">
<xsl:value-of select=
"format-number(translate(., ',','.'), '#.###,000', 'd')"/>
</xsl:template>
</xsl:stylesheet>
при применении к предоставленному документу XML :
<Add_Amount>2,59</Add_Amount>
дает желаемый результат :
2,590
Проблема с вашим кодом - , а 2,59
- нетдействительное число и должно быть преобразовано в такое, прежде чем передать его в качестве первого аргумента format-number()
.