Xml 通过XSLT将金额字段格式化为9(09)V9(06)格式

Xml 通过XSLT将金额字段格式化为9(09)V9(06)格式,xml,xslt,Xml,Xslt,我正在处理一项要求,需要将输入金额字段格式化为9(09)V9(06)格式。我们的供应商给出了如下示例 格式为9(09)V9(06),表示九位数隐含十进制六位数。如果您想发送124.46,您将发送000000 124460000(总共15个字符) 下面是我尝试过的XML和XSLT。。。它现在正在工作。 但我只想检查一下,这是将金额字段格式化为9(09)V9(06)的正确方法吗。。?有不同的方法吗 XML 124.99 XSLT 简单地说: <xsl:value-of select=&q

我正在处理一项要求,需要将输入金额字段格式化为9(09)V9(06)格式。我们的供应商给出了如下示例

格式为9(09)V9(06),表示九位数隐含十进制六位数。如果您想发送124.46,您将发送000000 124460000(总共15个字符)

下面是我尝试过的XML和XSLT。。。它现在正在工作。 但我只想检查一下,这是将金额字段格式化为9(09)V9(06)的正确方法吗。。?有不同的方法吗

XML

124.99
XSLT

简单地说:

<xsl:value-of select="format-number(amount * 1000000, '000000000000000')"/>

 <?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" version="2.0">
    <xsl:template match="report_entry">

        <xsl:variable name="amount_total" select="amount"/>
        <xsl:variable name="amount_total_1"
            select="translate(format-number($amount_total, '#########.000000'), '.', '')"/>
        <xsl:value-of select="format-number(number($amount_total_1), '000000000000000')"/>

    </xsl:template>
</xsl:stylesheet>
<xsl:value-of select="format-number(amount * 1000000, '000000000000000')"/>