如何用xslt中的字符替换小数后的最后一位数字

时间:2016-04-28 17:13:45

标签: xslt xslt-1.0 xslt-2.0 xslt-grouping

您好我想使用xslt替换数字小数点后的最后一位数。

该数字将包含在字段中,例如, 如果该字段的值为2586.48,则应将其更改为0000025864Q。该字段的总长度为11.

小数8后的最后一位用Q

替换

这是替补, 0 - }

1 - J

2 - K

3 - L

4 - M

5 - N

6 - O

7 - P

8 - Q

9 - R

请帮忙。

1 个答案:

答案 0 :(得分:6)

这个问题有点含糊不清。假设“数字小数点后的最后一位数”实际上意味着第二十进制数字(即百分之一),你可以这样做:

<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>

这假设您的输入值四舍五入到小数点后两位。