"We are back" « oc.at

Solved: XSL / XML Problem

userohnenamen 14.09.2005 - 13:37 581 4
Posts

userohnenamen

leider kein name
Avatar
Registered: Feb 2004
Location: -
Posts: 15864
ich hab hier folgende ausgangsstellung, ich bekomm als variable eine dezimalzahl, die kann 12,00 oder auch 92,7923467896283756238 sein

ich will hierbei jedoch nur maximal 2 dezimalstellen anzeigen


folgenden code habe ich bisher, nur leider ist er nicht sehr wirksam

Code:
      <xsl:if test="ProfitPerc != 0">
        <TR>
          <TD ALIGN="LEFT" VALIGN="TOP" CLASS="Table_Header" width="20%"><xsl:value-of select="XSLFormater:GetString('Rohgewinn %')" />:</TD>
          <TD ALIGN="LEFT" CLASS="Table_Row" WIDTH="*"><xsl:value-of select="substring-before(ProfitPerc,'.')" />.<xsl:value-of select="substring(substring-after(ProfitPerc,'.'),XXX)" /></TD>
        </TR>
      </xsl:if>

mein problem ist das beim zweiten substring klarerweise die dynamik (XXX) fehlt, weil ja die dezimalstellen unterschiedlich sein können
deswegen habe ich mir folgendes überlegt

Code:
string-length(substring-after(ProfitPerc,'.')) - 2

nur leider nimmt er diese funktion im substring nicht an und ignoriert es
wenn ich es einzeln über einen value-of ausgeben, funktioniert es jedoch

hätte jemand einen tipp wie ich das problem besser lösen könnte oder generell eine möglichkeit?
Bearbeitet von userohnenamen am 14.09.2005, 14:42

cduke

Big d00d
Registered: Nov 2001
Location: 1230 Wien
Posts: 253
Hi,

das geht mit der Funktion format-number. http://www.w3schools.com/xsl/func_formatnumber.asp

greetz cduke

vossi

been there, done that
Avatar
Registered: Feb 2003
Location: Vienna
Posts: 1436
Code:
format-number(ProfitPerc, '#.##')
?

edith: multitab browsing hat der teifl erfundn :p

userohnenamen

leider kein name
Avatar
Registered: Feb 2004
Location: -
Posts: 15864
danke
funktioniert sehr gut und rundet sogar mit
--> ideal
fazit: solved und DANKE :D

watchout

Legend
undead
Avatar
Registered: Nov 2000
Location: Off the grid.
Posts: 6845
round(#*100)/100
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz