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