« Return to Thread: Currency format in a PDF

Re: Currency format in a PDF - another question concerning cents portion

by dahepe :: Rate this Message:

Reply to Author | View in Thread


Hi,

actually I have no idea of what exactly you are trying to do with your code.
But if your only problem is to get a decimal point instead of the comma to
separate the decimal place of the number, i'd have a look at the example on
http://www.w3schools.com/xsl/el_decimal-format.asp and adapt it to your
needs:

<xsl:decimal-format name="us"
decimal-separator="." grouping-separator=","/>
 
<xsl:template match="/">
<xsl:value-of
select="format-number(26825.8, '#.###,00', 'us')"/>
</xsl:template>

Haven't tried it but it should do the trick, if you want to call it a trick...

Regards

Am Dienstag 02 Dezember 2008 08:05:30 schrieb Chawla:

> Hi,
>
> I am facing the same issue. Instead of 1,70 or 0,33..i want 1.70 or 0.33
> respectively as my output.
> I dont know what is wrong with my code. Please suggest.
>
>
>                       <xsl:choose>
>
>                       <xsl:when test="(UNIT_PRICE,1,1 > 1) and
> (substring-before(UNIT_PRICE,',') > 0)">
>                                       <fo:table-cell
> xsl:use-decimal-format="euro2"> <fo:table-cell
> xsl:use-attribute-sets="table.cell5">  <fo:block
> xsl:use-attribute-sets="form_data1">
>                                                       <xsl:value-of
> select="format-number(substring-before(UNIT_PRICE,','),'#.###','euro2')"/>,
><xsl:if test="(substring(substring-after(UNIT_PRICE,','),3,1)) >
> 4"><xsl:value-of
> select="(substring(substring-after(UNIT_PRICE,','),1,5))"/></xsl:if>
>
> <xsl:if test="(substring(substring-after(UNIT_PRICE,','),3,1))
> =''"><xsl:value-of
> select="(substring(substring-after(UNIT_PRICE,','),1,5))"/></xsl:if>
>
> <xsl:if test="(substring(substring-after(UNIT_PRICE,','),3,1)) =
> 1"><xsl:value-of
> select="(substring(substring-after(UNIT_PRICE,','),1,5))"/></xsl:if>
>
> <xsl:if test="(substring(substring-after(UNIT_PRICE,','),3,1)) =
> 2"><xsl:value-of
> select="(substring(substring-after(UNIT_PRICE,','),1,5))"/></xsl:if>
>
> <xsl:if test="(substring(substring-after(UNIT_PRICE,','),3,1)) =
> 3"><xsl:value-of
> select="(substring(substring-after(UNIT_PRICE,','),1,5))"/></xsl:if>
>
> <xsl:if test="(substring(substring-after(UNIT_PRICE,','),3,1)) =
> 4"><xsl:value-of
> select="(substring(substring-after(UNIT_PRICE,','),1,5))"/></xsl:if>
>
> <xsl:if test="(substring(substring-after(UNIT_PRICE,','),2,1)) =
> ''"><xsl:value-of
> select="((substring(substring-after(UNIT_PRICE,','),1,1))-(substring(substr
>ing-after(UNIT_PRICE,','),1,1)))"/></xsl:if>
>
> </fo:block>
>                                       </fo:table-cell>
>                                      </fo:table-cell>
>                               </xsl:when>
>                                  <xsl:when
test="(substring(UNIT_PRICE,1,1)=',')">
>                                       <fo:table-cell
> xsl:use-attribute-sets="table.cell5">  <fo:block
> xsl:use-attribute-sets="form_data1">
>                                                 <xsl:value-of  select="UNIT_PRICE"/>
>                                                </fo:block>
>                                       </fo:table-cell>
>                               </xsl:when>
>                               <!--changed , to . in the following xsl
value-of for SCR PO-503 -->

>                          <xsl:when test="(UNIT_PRICE,1,1 > 1) and
> (substring-after(UNIT_PRICE,'.') > 0)">
>                                       <fo:table-cell
> xsl:use-decimal-format="euro2"> <fo:table-cell
> xsl:use-attribute-sets="table.cell5">  <fo:block
> xsl:use-attribute-sets="form_data1">
>                                                        <xsl:value-of
> select="format-number(substring-before(UNIT_PRICE,'.'),'#.###','euro2')"/>,
><xsl:if test="(substring(substring-after(UNIT_PRICE,'.'),3,1)) >
> 4"><xsl:value-of
> select="(substring(substring-after(UNIT_PRICE,'.'),1,5))"/></xsl:if>
>
> <xsl:if test="(substring(substring-after(UNIT_PRICE,'.'),3,1))
> =''"><xsl:value-of
> select="(substring(substring-after(UNIT_PRICE,'.'),1,5))"/></xsl:if>
>
> <xsl:if test="(substring(substring-after(UNIT_PRICE,'.'),3,1)) =
> 1"><xsl:value-of
> select="(substring(substring-after(UNIT_PRICE,'.'),1,5))"/></xsl:if>
>
> <xsl:if test="(substring(substring-after(UNIT_PRICE,'.'),3,1)) =
> 2"><xsl:value-of
> select="(substring(substring-after(UNIT_PRICE,'.'),1,5))"/></xsl:if>
>
> <xsl:if test="(substring(substring-after(UNIT_PRICE,'.'),3,1)) =
> 3"><xsl:value-of
> select="(substring(substring-after(UNIT_PRICE,'.'),1,5))"/></xsl:if>
>
> <xsl:if test="(substring(substring-after(UNIT_PRICE,'.'),3,1)) =
> 4"><xsl:value-of
> select="(substring(substring-after(UNIT_PRICE,'.'),1,5))"/></xsl:if>
>
> <xsl:if test="(substring(substring-after(UNIT_PRICE,'.'),2,1)) =
> ''"><xsl:value-of
> select="((substring(substring-after(UNIT_PRICE,'.'),1,1))-(substring(substr
>ing-after(UNIT_PRICE,'.'),1,1)))"/></xsl:if>
>
> </fo:block>
>
> </fo:table-cell>
>                                      </fo:table-cell>
>                               </xsl:when>
>                     <xsl:when test="(UNIT_PRICE,1,1 > 1 ) and
> (substring-after(UNIT_PRICE,',') ='') ">
>                                       <fo:table-cell
> xsl:use-decimal-format="euro"> <fo:table-cell
> xsl:use-attribute-sets="table.cell5">  <fo:block
> xsl:use-attribute-sets="form_data1">
>                                       <xsl:value-of
> select="format-number(UNIT_PRICE,'#,###','euro')"/>
>                                               </fo:block>
>                                       </fo:table-cell>
>                                        </fo:table-cell>
>                               </xsl:when>
>
> Thanks,
> Sumir
>

 « Return to Thread: Currency format in a PDF