如何在xslt中用字符替换小数点后的最后一位数字
您好,我想使用xslt将数字小数点后的最后一位数字替换为一个字符 数字将包含在字段中,例如, 如果该字段的值为2586.48,则应将其更改为00000 25864q之类的值。该字段的总长度为11 小数点8后的最后一位数字替换为Q 这是替代品, 0-} 1-J 2-K 3-1 4米 5-N 6-O 7-p 8-Q 9-R如何在xslt中用字符替换小数点后的最后一位数字,xslt,xslt-1.0,xslt-2.0,xslt-grouping,Xslt,Xslt 1.0,Xslt 2.0,Xslt Grouping,您好,我想使用xslt将数字小数点后的最后一位数字替换为一个字符 数字将包含在字段中,例如, 如果该字段的值为2586.48,则应将其更改为00000 25864q之类的值。该字段的总长度为11 小数点8后的最后一位数字替换为Q 这是替代品, 0-} 1-J 2-K 3-1 4米 5-N 6-O 7-p 8-Q 9-R 请帮忙。这个问题有点模棱两可。假设“数字小数点后的最后一位”实际上是指第二位(即百分位),您可以: <xsl:template match="field">
请帮忙。这个问题有点模棱两可。假设“数字小数点后的最后一位”实际上是指第二位(即百分位),您可以:
<xsl:template match="field">
<xsl:copy>
<xsl:value-of select="format-number(floor(10 * .), '0000000000') "/>
<xsl:value-of select="translate(100 * . mod 10, '0123456789', '}JKLMNOPQR')"/>
</xsl:copy>
</xsl:template>
这假设您的输入值被四舍五入到小数点后2位。这个问题有点含糊不清。假设“数字小数点后的最后一位”实际上是指第二位(即百分位),您可以:
<xsl:template match="field">
<xsl:copy>
<xsl:value-of select="format-number(floor(10 * .), '0000000000') "/>
<xsl:value-of select="translate(100 * . mod 10, '0123456789', '}JKLMNOPQR')"/>
</xsl:copy>
</xsl:template>
这假设您的输入值四舍五入到小数点后2位。非常优雅的答案+1非常优雅的回答+1.