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)
-> + Merging Table Cells in XSLT re... (3)
-> + xsl fo block-container and foo... (2)
-> + Is is possible to create a .CO... (2)
-> + printing a parent node value i... (2)
-> + Mime header info setup? (3)
-> + Calculating a Date based on 4 ... (3)
-> - XSLT formatting number issue (10)
-> ->XSLT formatting number is...
-> ->XSLT formatting number is...
-> ->XSLT formatting number is...
-> ->XSLT formatting number is...
-> ->XSLT formatting number is...
-> ->XSLT formatting number is...
-> ->XSLT formatting number is...
-> ->XSLT formatting number is...
-> ->XSLT formatting number is...
-> + map repeating elements separat... (3)
-> + Combining XML elements based o... (3)
-> + Convert XML to UTF-8 (8)
-> + XSLT and MS Access 2007 Optio... (5)
-> - WORDML list to XML list (1)
-> + [Newbie] Using lookups in XSLT... (3)
-> + Comparing 2 passed Date Values (2)
-> + ERROR XQueryMediator Error du... (2)
-> + XML / XSLT... Unordered lists ... (2)
-> + Specify image path in XSL (2)
-> + Variable within a variable (3)
-> + How to call jfreechart method ... (8)
-> + leading and trailing white spa... (2)
-- Previous [421-440] [441-460] [461-480] Next
+ XQuery Help and Discussion (2017)
+ Stylus Studio FAQs (159)
+ Stylus Studio Code Samples & Utilities (364)
+ Stylus Studio Announcements (113)
Topic  
Postnext
vasant bSubject: XSLT formatting number issue
Author: vasant b
Date: 07 Jan 2009 05:55 AM
I would like to format a number. The number should contain 6 digits after the decimal. However it should be dynamic. As soon as a single number is infinite, the number must be rounded. E.g. 1.3333333 should be set to 1.34; 1.543200 --> 1.5432; 1.000000 --> 1. Please help me in with this issue.

Thanks in advance,
Vasant

Postnext
(Deleted User) Subject: XSLT formatting number issue
Author: (Deleted User)
Date: 08 Jan 2009 09:55 AM
Hi Vasant,
provided that the rounding of 1.333333 can never be 1.34, you are looking for format-number().
If you write

<xsl:value-of select="format-number(1.36666666,'#.######')"/>
<xsl:value-of select="format-number(1.543200,'#.######')"/>
<xsl:value-of select="format-number(1.00000000,'#.######')"/>

you will get 1.366667, 1.5432 and 1

Alberto

Postnext
vasant bSubject: XSLT formatting number issue
Author: vasant b
Date: 08 Jan 2009 11:09 PM
Originally Posted: 08 Jan 2009 11:08 PM
Thank you Alberto!!

But in case the number becomes infinite, ( e.g 1.33333333333....) our business requirement says it should be rounded ( e.g 1.34)

1.344444444444.... --> 1.345
1.2223333333333333.... -> 1.22234

Is this possible?. Thanks a lot for your support.

Regards,
Vasant

Postnext
Tony LavinioSubject: XSLT formatting number issue
Author: Tony Lavinio
Date: 09 Jan 2009 01:05 AM
Why would you ever round 1.333333 to 1.34? The last three would
round down, not up. To do otherwise is mathematically incorrect.

Postnext
vasant bSubject: XSLT formatting number issue
Author: vasant b
Date: 12 Jan 2009 05:41 AM
Hi Tony,

The number that I would like to format can result from two situations.

Manual :- In case of manually entered in a front end, I need to format it to 6 digits.

Automatic :- It may be a result of divison operation
for example 4/3 --> 1.33333333333........ In such situations I need to round it to 1.34.

Thanks,
Vasant

Postnext
Tony LavinioSubject: XSLT formatting number issue
Author: Tony Lavinio
Date: 12 Jan 2009 10:34 AM
I realize that the customer is always supposed to be right, but I'm
sorry but in this case rounding 1.33333 -> 1.34 is just plain wrong.

1.33333 should at the least be rounded to 1.33. A trailing 3 should
never be rounded up.

Are you SURE that is a business requirement? We ask because in order
to find an algorithm that does what you want, we really have to
understand your process.

Postnext
vasant bSubject: XSLT formatting number issue
Author: vasant b
Date: 14 Jan 2009 07:36 AM
Hi Tony,

I am sorry. My requirement is as follows.


1.33333333333333... --> 1.33
1.11122222222222... --> 1.11122
1.55555555555555... --> 1.56
1.88888888888888... --> 1.89
1.28966666666666... --> 1.28967

In every other cases ( i.e when the number is not infinte)it shoud be rounded to 6 decimals.

for ex :- 1.12345678 --> 1.123456


Thanks a lot for your support.
Vasant

Postnext
Minollo I.Subject: XSLT formatting number issue
Author: Minollo I.
Date: 14 Jan 2009 02:15 PM
I'm not sure I'm following what you are trying to do; but these formats will output the numbers the way you are looking for:
<xsl:value-of select="format-number(1.33333333333333, '#.##')"/>;
<xsl:value-of select="format-number(1.11122222222222, '#.#####')"/>;
<xsl:value-of select="format-number(1.55555555555555, '#.##')"/>;
<xsl:value-of select="format-number(1.88888888888888, '#.##')"/>;
<xsl:value-of select="format-number(1.28966666666666, '#.#####')"/>

Postnext
vasant bSubject: XSLT formatting number issue
Author: vasant b
Date: 15 Jan 2009 12:37 AM
Hi,

The number is not known at the begining. I would be reading it from an XML node. I should handle it based on the value of the node. Please see an example below.

For example I would be reading it from the XSL path '/Shares/share/rate'. So based on the value of the rate, I need to format it. In otherwords, i need to handle it dynamically.

Thanks,
Vasant

Posttop
Minollo I.Subject: XSLT formatting number issue
Author: Minollo I.
Date: 15 Jan 2009 08:53 AM
...handle it as a string (string-length, substring, ...), check its length, number of digits, and use the formatting logic that better suites your needs.

   
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.