Solved: XSL / XML Problem

Seite 1 von 1 - Forum: Coding Stuff auf overclockers.at

URL: https://www.overclockers.at/coding-stuff/solved_xsl_xml_problem_149273/page_1 - zur Vollversion wechseln!


userohnenamen schrieb am 14.09.2005 um 13:37

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?


cduke schrieb am 14.09.2005 um 14:30

Hi,

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

greetz cduke


vossi schrieb am 14.09.2005 um 14:41

Code:
format-number(ProfitPerc, '#.##')
?

edith: multitab browsing hat der teifl erfundn :p


userohnenamen schrieb am 14.09.2005 um 14:42

danke
funktioniert sehr gut und rundet sogar mit
--> ideal
fazit: solved und DANKE :D


watchout schrieb am 14.09.2005 um 14:44

round(#*100)/100




overclockers.at v4.thecommunity
© all rights reserved by overclockers.at 2000-2025