RE: [xsl] go from double to integer OR show just 1 or 0 decimals

Subject: RE: [xsl] go from double to integer OR show just 1 or 0 decimals
From: "Michael Kay" <mike@xxxxxxxxxxxx>
Date: Wed, 27 Jul 2005 23:17:45 +0100
The neat way to do this is

<xsl:variable name="formats">
  <format unitCode="months" picture="#0"/>
  <format unitCode="kg" picture="0.###"/>
</xsl:variable>

<xsl:template match="gr:InputQuantity">
  <xsl:variable name="pic" select="$formats/format[unitCode =
current()/../@unitCode]/@picture"/>
  <xsl:value-of select="format-number(., $pic)"/>
</xsl:template>

Michael Kay
http://www.saxonica.com/

> -----Original Message-----
> From: Christian Rasmussen [mailto:byggemandbob@xxxxxxxxx] 
> Sent: 27 July 2005 22:34
> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> Subject: [xsl] go from double to integer OR show just 1 or 0 decimals
> 
> Hi Experts,
> 
> I have a som xml like this:
> 
> 
>           <gr:ThroughputStructure unitCode="months">
>             <gr:InputQuantity>6.00</gr:InputQuantity>
>             <gr:OutputQuantity>28.00</gr:OutputQuantity>
>           </gr:ThroughputStructure>
> 
> The unitCode attribute of ThroughputStructure is enummerations and can
> hold one of following values:
> - days 
> - months
> - kg
> - numbers
> 
> The inputQuantity and OutputQuantity is double types, mainly because
> of situations where the unitCode is numbers or kg, but if the unitCode
> is days or months, there is really no need for two decimals.
> 
> What I would like to do is: 
> 
> make a template that matches InputQuantity and OutputQuantity, and if
> the ../ThroughputStructure/@unitCode is months or days, then the
> format for the inputQuantity OutputQuantity need just to be integer or
> double without decimals (then there should be som round up...new
> problem, how is that done?).
> 
> Is that possible? Is it possible to round up the decimals and just
> show one, or strip them totally, or convert to integer?
> 
> Help is very much appreciated :-)
> 
> on beforehand, thank you!
> 
> /Christian Rasmussen

Current Thread