Xslt 删除点后的值

Xslt 删除点后的值,xslt,Xslt,我想删除点后的零或任何其他值(例如12.000000000000)。 我使用的是xslt代码 <xsl:if test="value!= ''"> <tr> <td> value </td> <td> <xsl:value-of select="value"/> </td> </tr> </xsl:if> 价值 如何实现这一点?使用数字格式: Use Number

我想删除点后的零或任何其他值(例如12.000000000000)。 我使用的是xslt代码

<xsl:if test="value!= ''">
 <tr>
 <td>
 value
 </td>
 <td>
 <xsl:value-of select="value"/>
  </td>
 </tr>
 </xsl:if>

价值
如何实现这一点?

使用数字格式:
Use Number formatting as:
<xsl:if test="value!= ''">
 <tr>
  <td>
    value
  </td>
  <td>
   <xsl:value-of select="format-number(value,'0')"/>
  </td>
 </tr>
</xsl:if>
价值
您可以使用格式编号功能:

<xsl:value-of select="format-number(value,'#')"/>

参考:

致以最良好的祝愿,
彼得

只要使用

substring-before(concat(value, '.'), '.')

这适用于任何值,而不仅仅是数字。即使
不包含任何点字符,结果也是正确的。

您应该使用
格式编号
XSLT函数(无法提供测试示例,因此无法回答)。谢谢Peter。。。但是,如果我有一个像0.000000这样的值,那么它也会在点之前去掉零。通过使用(value,'0'),它被解决了..你好,阿伦,谢谢你的更新。我没有意识到这一点。很高兴知道-谢谢!彼得