You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@xalan.apache.org by bu...@apache.org on 2003/01/20 04:30:17 UTC
DO NOT REPLY [Bug 16247] New: -
format-number*() returns incorrect results
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://nagoya.apache.org/bugzilla/show_bug.cgi?id=16247>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND
INSERTED IN THE BUG DATABASE.
http://nagoya.apache.org/bugzilla/show_bug.cgi?id=16247
format-number*() returns incorrect results
Summary: format-number*() returns incorrect results
Product: XalanJ2
Version: 2.4
Platform: Sun
OS/Version: Solaris
Status: NEW
Severity: Critical
Priority: Other
Component: org.apache.xalan
AssignedTo: xalan-dev@xml.apache.org
ReportedBy: keent@nrm.qld.gov.au
The results of format-number are wrong on occasions. The version I'm using is
2.4.1. Below are test files:
*** XML File ***
<root>
<num>90.00000000000000000</num>
<num>91.00000000000000000</num>
<num>92.00000000000000000</num>
<num>93.00000000000000000</num>
<num>94.00000000000000000</num>
<num>95.00000000000000000</num>
<num>96.00000000000000000</num>
<num>97.00000000000000000</num>
<num>98.00000000000000000</num>
<num>99.00000000000000000</num>
<num>100.00000000000000000</num>
<num>90.0000000000000000</num>
<num>91.0000000000000000</num>
<num>92.0000000000000000</num>
<num>93.0000000000000000</num>
<num>94.0000000000000000</num>
<num>95.0000000000000000</num>
<num>96.0000000000000000</num>
<num>97.0000000000000000</num>
<num>98.0000000000000000</num>
<num>99.0000000000000000</num>
<num>90.000000000000000000</num>
<num>91.000000000000000000</num>
<num>92.000000000000000000</num>
<num>93.000000000000000000</num>
<num>94.000000000000000000</num>
<num>95.000000000000000000</num>
<num>96.000000000000000000</num>
<num>97.000000000000000000</num>
<num>98.000000000000000000</num>
<num>99.000000000000000000</num>
<num>100.0000000000000000</num>
<num>101.0000000000000000</num>
<num>102.0000000000000000</num>
<num>103.0000000000000000</num>
<num>104.0000000000000000</num>
<num>105.0000000000000000</num>
<num>106.0000000000000000</num>
<num>107.0000000000000000</num>
<num>108.0000000000000000</num>
<num>109.0000000000000000</num>
<num>110.0000000000000000</num>
</root>
*** XSL File ***
<?xml version="1.0" encoding="iso-8859-1" ?>
<xsl:stylesheet
version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="text"/>
<xsl:template match="//num">
<xsl:text>Number: </xsl:text><xsl:value-of select="."/>
<xsl:text> Formatted: </xsl:text><xsl:value-of select="format-number
(.,'0.###')"/>
</xsl:template>
</xsl:stylesheet>
*** Resultant Text File ***
Number: 90.00000000000000000 Formatted: 90
Number: 91.00000000000000000 Formatted: 91
Number: 92.00000000000000000 Formatted: 92
Number: 93.00000000000000000 Formatted: -91.467
Number: 94.00000000000000000 Formatted: -90.467
Number: 95.00000000000000000 Formatted: -89.467
Number: 96.00000000000000000 Formatted: -88.467
Number: 97.00000000000000000 Formatted: -87.467
Number: 98.00000000000000000 Formatted: -86.467
Number: 99.00000000000000000 Formatted: -85.467
Number: 100.00000000000000000 Formatted: -84.467
Number: 90.0000000000000000 Formatted: 90
Number: 91.0000000000000000 Formatted: 91
Number: 92.0000000000000000 Formatted: 92
Number: 93.0000000000000000 Formatted: 93
Number: 94.0000000000000000 Formatted: 94
Number: 95.0000000000000000 Formatted: 95
Number: 96.0000000000000000 Formatted: 96
Number: 97.0000000000000000 Formatted: 97
Number: 98.0000000000000000 Formatted: 98
Number: 99.0000000000000000 Formatted: 99
Number: 90.000000000000000000 Formatted: -2.234
Number: 91.000000000000000000 Formatted: -1.234
Number: 92.000000000000000000 Formatted: -0.234
Number: 93.000000000000000000 Formatted: 0.766
Number: 94.000000000000000000 Formatted: 1.766
Number: 95.000000000000000000 Formatted: 2.766
Number: 96.000000000000000000 Formatted: 3.766
Number: 97.000000000000000000 Formatted: 4.766
Number: 98.000000000000000000 Formatted: 5.766
Number: 99.000000000000000000 Formatted: 6.766
Number: 100.0000000000000000 Formatted: 100
Number: 101.0000000000000000 Formatted: 101
Number: 102.0000000000000000 Formatted: 102
Number: 103.0000000000000000 Formatted: 103
Number: 104.0000000000000000 Formatted: 104
Number: 105.0000000000000000 Formatted: 105
Number: 106.0000000000000000 Formatted: 106
Number: 107.0000000000000000 Formatted: 107
Number: 108.0000000000000000 Formatted: 108
Number: 109.0000000000000000 Formatted: 109
Number: 110.0000000000000000 Formatted: 110