formatting - poner - Formateo de números, excluyendo ceros finales
números en miles excel (2)
xpath 2.0 contiene la lógica condicional if..then..else pero en el caso más probable de que estés en xpath 1.0, me temo que tendrás que confiar en XSLT para hacer esto por ti, es decir:
<xsl:variable name="myvar">
<xsl:choose>
<xsl:when test="$value > 0">
<xsl:select="format-number($value, ''###,###.00'')"/>
</xsl:when>
<xsl:otherwise>0</xsl:otherwise>
</xsl:choose>>
</xsl:variable>
..o mixin una extensión (.NET puede hacer esto de forma nativa, EXSLT existe de lo contrario, probablemente haya más opciones disponibles)
A mi leal saber y entender, no existen funciones de xpath para sacarte de esto, pero podría extrañar algo exótico.
primera vez SO usuario :)
Sé que puedo formatear un número como este:
format-number($value, ''###,###.00'')
Pero me gustaría eliminar el punto y los ceros si $ valor es cero.
Asi que,
37368 -> 37,368
2.666667 -> 2.66
¿Es posible usar solo el formato de números (no parece) o tengo que hacer algo a lo largo de las líneas de
if (int(value) == value ) {...}
format-number($value, ''###,###.##'')