format-number dropping 0
I am using:
<xsl:function name="ercot:number-to-dollar" as="xs:string">
<xsl:param name="number" as="xs:string"/>
<xsl:variable name="digits" select="if ($number[contains(.,'-')]) then number(substring-after($number,'-')) else number($number)"/>
<xsl:sequence select="xs:string( if ($number[contains(.,'-')])
then concat('($' , format-number($digits, '#,###.##') , ')')
else concat('$', format-number($digits, '#,###.##') ) )"/>
</xsl:function>
It should convert:
-400.20 to ($400.20)
332.45 to $332.45
However, when it is dropping the trailing 0:
-400.20 is converted to ($400.2)
Does anyone have any ideas why?
|