如何在XSLT中固定金额字段的十进制数字

时间:2019-04-12 21:35:49

标签: xslt

我试图在小数点后两位显示金额字段。 例如:如果薪水是38000,并且输出应该显示38000.00 如果Salary是25000.4,并且输出应显示25000.40 如果薪水是12500.08,并且输出应该显示相同的12500.08

当我将结果以制表符分隔的文本导出时,该薪水也不应显示在双引号中。 例如: PayeeID名字工资 100 DEEPA 25000.40

请帮助您对xslt进行更改。

这是我的代码:

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    xmlns:xs="http://www.w3.org/2001/XMLSchema"
    exclude-result-prefixes="xs ws" xmlns:ws="urn:com.workday/workersync"
    xmlns:xtt="urn:com.workday/xtt" xmlns:etv="urn:com.workday/etv"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    version="2.0">
 <xsl:output method="xml"></xsl:output>

    <xsl:template match="/">

        <File xmlns:xtt="urn:com.workday/xtt" xtt:quotes="csv" xtt:separator="&#xD;&#xA;">

            <xsl:for-each select="ws:Worker_Sync/ws:Worker/ws:Additional_Information">

                <xsl:variable name="Current_date">
                    <xsl:value-of select="current-date()"/>
                </xsl:variable>

                <Record xtt:separator="&#9;" xtt:quotes="csv">
                <PayeeID>
                    <xsl:value-of select="ws:PayeeID"/>
                </PayeeID>

        <FirstName>
                    <xsl:value-of select="ws:FirstName"/>
                </FirstName>

        <Salary>
                    <xsl:value-of select="ws:Salary"/>
                </Salary>

      </Record>
            </xsl:for-each>
        </File>
    </xsl:template>
</xsl:stylesheet>

1 个答案:

答案 0 :(得分:0)

您可以使用这种格式

<xsl:value-of select="format-number(.,'#.00')"/>