大家好我有一个场景,根据17个字符的字符串长度动态地在值的右边添加零,如果它少,它会在末尾添加所需的零值,使其长度为17个字符。
$normalizedTime2
值是动态的,它可以是任何值,其长度小于17个字符。
我正在尝试以下方法,但它现在按预期工作。
例如:如果我的价值如2016050611525,那么输出应该是20160506115250000。传入的值是动态的。
<xsl:variable name="normalizedTime2" select="2016050611525"/>
<xsl:variable name="normalizedTime">
<xsl:choose>
<xsl:when test="string-length(normalize-space($normalizedTime2)) < 17">
<xsl:value-of select="substring(concat(., '00000000000000000'),1,17)"/>
</xsl:when>
<xsl:otherwise><xsl:value-of select="$normalizedTime2"/></xsl:otherwise>
</xsl:choose>
</xsl:variable>
让我知道这个问题。
答案 0 :(得分:1)
我相信你的例子应该有:
<xsl:value-of select="substring(concat($normalizedTime2, '00000000000000000'),1,17)"/>
而不是:
<xsl:value-of select="substring(concat(.,'00000000000000000'),1,17)"/>
我不确定你为什么需要xsl:choose
指令 - 除非你期望输入字符串超过17个字符,并且不想将它们删除。否则你可以这样做:
<xsl:value-of select="substring(concat($inputString, '00000000000000000'), 1, 17)"/>
任何输入。