Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xslt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在xslt中用字符替换小数点后的最后一位数字_Xslt_Xslt 1.0_Xslt 2.0_Xslt Grouping - Fatal编程技术网

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

如何在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">

您好,我想使用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: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.