XML Editor
Sign up for a WebBoard account Sign Up Keyword Search Search More Options... Options
Chat Rooms Chat Help Help News News Log in to WebBoard Log in Not Logged in
Conferences Close Tree View
+ Stylus Studio Feature Requests (1192)
+ Stylus Studio Technical Forum (14621)
+ Website Feedback (249)
- XSLT Help and Discussion (7625)
-> + Use of before and after string (3) Sticky Topic
-> - How do I substitute element ty... (1)
-> + How does one add working days ... (4)
-> - Help, I have existing XLT and... (1)
-> + Need help on XSLT issue - (2)
-> + EDI to XML Conversion (7)
-> - XML To JSON Conversion using X... (1)
-> + Formatting Paragraphs to same ... (2)
-> - Grouping of records (1)
-> + Problems with xsd 1.1 (4)
-> + XML to HL7 mapping (3)
-> + XSLT 3 and Iterate (2)
-> + XSL-FO to PDF preview (3)
-> + java.lang.RuntimeException: Er... (2)
-> + Create Acroforms with Stylus X... (2)
-> + How to change XSLT parameter s... (3)
-> + how to change format of the da... (2)
-> + Search "Next 8 Results " doesn... (2)
-> - Support for Git (1)
-> + newbee (8)
-- [1-20] [21-40] [41-60] Next
+ XQuery Help and Discussion (2017)
+ Stylus Studio FAQs (159)
+ Stylus Studio Code Samples & Utilities (364)
+ Stylus Studio Announcements (113)
Topic  
Postnext
Alexander AhammerSubject: Formating numbers
Author: Alexander Ahammer
Date: 14 Feb 2006 05:54 AM
I have a small problem with the format my numbers have. I am trying to convert the numbers having a comma as a separator into ones that have a dot.

<games>
<quote1>13,30</quote1>
<quote1>3,40</quote1>
<quote1>23,50</quote1>
<quote1>3,60</quote1>
<quote1>113,70</quote1>
<quote1>3,80</quote1>
</games>

The output should be something similar to

<games>
<quote1>13.30</quote1>
<quote1>3.40</quote1>
<quote1>23.50</quote1>
<quote1>3.60</quote1>
<quote1>113.70</quote1>
<quote1>3.80</quote1>
</games>

I dont know how to do it with substring and then concat, since the numbers do not have a constant length.

Postnext
Alexander AhammerSubject: Formating numbers
Author: Alexander Ahammer
Date: 14 Feb 2006 06:34 AM
I would like to add that i have tried using the following script inorder to see if this could work but i am getting the output "NaN".

<xsl:variable name="number"> 30,6 </xsl:variable>
<xsl:value-of select="format-number($number, '##.00')"/>

Postnext
Alexander AhammerSubject: Formating numbers
Author: Alexander Ahammer
Date: 14 Feb 2006 06:51 AM
Ok i have found out a way to do this. But please can somebody tell me how i would have done it with the "format-number" way of doing it.

<for-each select="_here_comes_the_number">
<xsl:variable name="Before_the_dot" select="substring-before(., ',')" />
<xsl:variable name="After_the_dot" select="substring-after(., ',')" />
<xsl:value-of select="concat($M, '.',$Y)" />
</for-each>

Postnext
Tony LavinioSubject: Formating numbers
Author: Tony Lavinio
Date: 14 Feb 2006 09:11 AM
A more typical way of doing this is like this:

<xsl:for-each select="games/quote1">
<xsl:value-of select="format-number(translate(., ',', '.'), '##.00')"/>
</xsl:for-each>

This is what the translate function is for.

Postnext
Minollo I.Subject: Formating numbers
Author: Minollo I.
Date: 14 Feb 2006 09:17 AM
Alexander,
first, the easiest way to do that is:

<xsl:variable name="aNumber" select="translate(., ',', '.')"/>
<xsl:value-of select="format-number($aNumber, '##.00')"/>

format-number allows you to format a number the way you want (you can even use <xsl:decimal-format/> to control various aspects of how it works); but it needs to work on a *number*; and in XML "30,6" is not a number, as you must use '.' to separate decimals and not use ',', not even as a grouping separator.

Minollo

Posttop
Alexander AhammerSubject: Formating numbers
Author: Alexander Ahammer
Date: 14 Feb 2006 09:05 PM
Ok i get it. Of course "Translate"!

Thanks to both of you.


I must admit that this board is great concerning xslt questions ( i dont know about the other sub-boards never been there).
Great job.

   
Download A Free Trial of Stylus Studio 6 XML Professional Edition Today! Powered by Stylus Studio, the world's leading XML IDE for XML, XSLT, XQuery, XML Schema, DTD, XPath, WSDL, XHTML, SQL/XML, and XML Mapping!  
go

Log In Options

Site Map | Privacy Policy | Terms of Use | Trademarks
Stylus Scoop XML Newsletter:
W3C Member
Stylus Studio® and DataDirect XQuery ™are from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2016 All Rights Reserved.