繁体   English   中英

删除XSLT 1.0中的欧元符号和空格

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM