Преобразование десятичного разделителя в число - format-number () - PullRequest
0 голосов
/ 24 сентября 2019

Я застрял в задаче преобразования XLST.

Я использую XSLT для преобразования значений для вывода TEXT.

Большая часть работы выполнена в стандарте, где мы используем нотации США.Теперь мне нужно превратить число, которое является строкой, в значение ЕС.

Исходный вывод: 0,01 Требуемый вывод: 0,01

Я надеялся, что это можно сделать в XSLT:

Стандарт:

<xsl:value-of select="format-number(Punch_nethours,'0.00')"/>

Это (создает ошибку 'NaN' в выходном файле. Также включение десятичного разделителя в оператор выбора приводит к ошибке синтаксического анализа.

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

Это исходный XSLT:

<xsl:value-of select="EmployeeNumber"/>
<xsl:for-each select="Export/Record[TimeStartRaw!='']">
    <xsl:text>;</xsl:text>
    <xsl:value-of select="TimeStart"/>
    <xsl:text>;</xsl:text>
    <xsl:value-of select="format-number(Punch_nethours,'0.00')"/>
    <xsl:text>;</xsl:text>
     <xsl:value-of select="TimeStart1"/> 
     <xsl:text>;</xsl:text>
    <xsl:value-of select="TimeEnd"/>
    <xsl:text>;</xsl:text>
<xsl:text>&#x0D;&#x0A;</xsl:text>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>

У кого-нибудь есть другая идея, как это сделать?

Любая помощь приветствуется.

Лучший D

...