[英]Remove euro sign and space in XSLT 1.0
我在XML中有这个:
<price>
<now>€ 249,95</now>
</price>
逗号下面的金额如下,我也只想删除欧元符号。
这是(XSLT 1.0):
<xsl:template name="amount">
<xsl:param name="string"/>
<xsl:param name="separator" select="','"/>
<xsl:choose>
<xsl:when test="contains($string,$separator)">
<xsl:value-of select="substring-before($string,$separator)"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$string"/>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
为什么不简单地做:
<xsl:value-of select="translate(now, ',€ ', '.')" />
这会将十进制逗号转换为点,并删除欧元符号以及任何空格-无需测试是否存在任何空格。
如果只需要整数部分,则:
<xsl:value-of select="floor(translate(now, ',€ ', '.'))" />
在您的示例中将返回249
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.