Subject: [xsl] Function that reduces the number of digits to the right of the decimal point? From: "Roger L Costello costello@xxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> Date: Tue, 23 Jun 2020 14:28:24 -0000 |
Hi Folks, $num is a variable holding a decimal value. $desired-number-of-digits-after-decimal-point is a variable holding an integer value. I want a function that reduces the number of digits to the right of the decimal point in $num according to the value specified in $desired-number-of-digits-after-decimal-point Example #1: $num = 42.366978 $desired-number-of-digits-after-decimal-point = 2 The result of applying the function is: 42.36 Example #2: $num = 42.366978 $desired-number-of-digits-after-decimal-point = 0 The result of applying the function is: 42 Below is one way to implement the function. Is there a better way? By "better" I mean simpler, more correct. Also, is there a better name for the function? By "better" I mean shorter, more standardized. /Roger ----------------------------------------------------- <xsl:function name="f:reduce-number-of-digits-after-decimal-point" as="xs:string"> <xsl:param name="num" as="xs:string" /> <xsl:param name="desired-number-of-digits-after-decimal-point" as="xs:integer" /> <xsl:variable name="whole-part" select="substring-before($num, '.')"/> <xsl:variable name="fraction-part" select="substring-after($num, '.')"/> <xsl:variable name="reduced-fraction-part" select="substring($fraction-part, 1, $desired-number-of-digits-after-decimal-point)"/> <xsl:choose> <xsl:when test="$desired-number-of-digits-after-decimal-point gt 0"> <xsl:value-of select="concat($whole-part, '.', $reduced-fraction-part)"/> </xsl:when> <xsl:otherwise> <xsl:value-of select="$whole-part"/> </xsl:otherwise> </xsl:choose> </xsl:function>
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: Aw: [xsl] problem with json-to-, Wolfhart Totschnig w | Thread | Re: [xsl] Function that reduces the, David Carlisle d.p.c |
Re: Aw: [xsl] problem with json-to-, Wolfhart Totschnig w | Date | Re: [xsl] Function that reduces the, David Carlisle d.p.c |
Month |