Avatar billede arriva Nybegynder
22. november 2005 - 20:23 Der er 1 kommentar og
1 løsning

Test af to float's

Hej Folkens,
er ny hvad angår XSLT.

Når jeg prøver at sammenligne to floats fra en mssql db går det ikke helt som jeg forventer. I min xsl:when springer den over test's som ellers burde give resultater.

Eksempel:
<xsl:when test="Mean &gt; skalaMean + 4">

Mean og skalaMean er to float's i min mssql db. De bliver trukket rigtigt nok ud. Dog giver de nogle lidt sjove værdier når jeg prøver at udskrive dem f.eks. "8.09324114249e+001" altså opgivet som *10^x.

Jeg tror måske problemet kunne være noget med comma og punktum?

På forhånd tak
-Morten
Avatar billede janegil Nybegynder
23. november 2005 - 11:14 #1
Kommer du nærmere det resultatet du forventer, hvis du fjerner ledende nuller fra eksponenten? Altså "8.09324114249e+1" ?

http://www.w3.org/TR/xmlschema-2/#float
Eksponenten skal være en integer:
http://www.w3.org/TR/xmlschema-2/#integer

3.3.13.1 Lexical representation

integer has a lexical representation consisting of a finite-length sequence of decimal digits (#x30-#x39) with an optional leading sign. If the sign is omitted, "+" is assumed. For example: -1, 0, 12678967543233, +100000.

Så langt jeg kan tyde dette, burde 001 være en gyldig integer. Men det er jo heller ikke sikkert alle implementasjoner følger spec 100%

Desimaltegnet i XSLT er punktum.
Avatar billede arriva Nybegynder
19. marts 2006 - 14:19 #2
Problemet viste sig at opstå allerede når der bliver hentet fra sql-serveren. Det blev løst ved at ændre db typen til en varchar og komma til punktum. XSLT forstod det stadigvæk som et tal.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester