|
Subject: Re: [xsl] Formatting numbers From: Zak McGregor <zak@xxxxxxxxxxxx> Date: Tue, 10 Apr 2001 14:49:31 +0200 |
On Tue, 10 Apr 2001 12:47:18 +0200
Zak McGregor <zak@xxxxxxxxxxxx> wrote:
> Hi all
>
> I need to get numbers in a format that would be suitable for currency
> (eg:
> 5.00 or 3.50 or 1.99 etc), which is simple enough, but I am using
> Sablotron 0.51 which lists format-number() as currently unimplemented.
> Any
> kind peeps out there with an idea of how I could acieve the same effect
> please?
>
Well, I have a solution, but it isn't pretty...
...
<xsl:call-template name="number-pad">
<xsl:with-param name="number-to-format" select="floor(amount*100+0.5)
div 100"/>
</xsl:call-template>
...
<xsl:template name="number-pad">
<xsl:param name="number-to-format" />
<xsl:variable name="zpad"
select="string-length(substring-after($number-to-format,'.'))" />
<xsl:choose>
<xsl:when test="$zpad=0"><xsl:value-of
select="concat($number-to-format,'.00')"/></xsl:when>
<xsl:when test="$zpad=1"><xsl:value-of
select="concat($number-to-format,'0')"/></xsl:when>
<xsl:otherwise><xsl:value-of
select="$number-to-format"/></xsl:otherwise>
</xsl:choose>
</xsl:template>
...
I hope this helps someone else out there...
Cheers
Zak
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| [xsl] Formatting numbers, Zak McGregor | Thread | [xsl] Some more stuff about selecti, Joerg Pietschmann |
| RE: [xsl] determine node position, Michael Kay | Date | Re: [xsl] Some more stuff about sel, David Carlisle |
| Month |