XSLT1.0-填充0';数学方程式

XSLT1.0-填充0';数学方程式,xslt,xslt-1.0,Xslt,Xslt 1.0,我试图用XSLT1.0中相乘的变量填充XSLT中的输出。我不能使用格式数字,因为它会自动对数字进行舍入,但我需要将小数设置到位。当我在XML中使用列格式时,我可以实现这一点,但是由于select的值中有多个列格式,因此它在这里似乎不起作用,并且遵循下面代码中的7: <xsl:value-of select="substring(E_BaseRate * E_NormalHours * 2, 1, 7)" disable-output-escaping="yes"/&

我试图用XSLT1.0中相乘的变量填充XSLT中的输出。我不能使用格式数字,因为它会自动对数字进行舍入,但我需要将小数设置到位。当我在XML中使用列格式时,我可以实现这一点,但是由于select的值中有多个列格式,因此它在这里似乎不起作用,并且遵循下面代码中的7:

            <xsl:value-of select="substring(E_BaseRate * E_NormalHours * 2, 1, 7)" disable-output-escaping="yes"/>


我得到的输出是:1601.93转换为160193,但我需要得到0160193的结果。有什么方法可以做到这一点吗?

我把这个发出来是为了给你一个想法。您可以按原样使用,也可以将所有内容合并为一个选择

  <xsl:variable name="numToString" select="string(160193)"/>

  <xsl:variable name="numLen" select="string-length($numToString)"/>

  <xsl:variable name="value" select="concat(substring('0000000', 1, 7 - $numLen), $numToString)"/>


“我无法使用格式数字,因为它会自动将数字舍入”请提供此类问题的示例。A.当使用格式编号:时,我得到的结果是:0001602,这是:0160193的舍入结果,所以乘以200而不是2?目前还不清楚问题的范围。你的例子是不可复制的。