Я пытаюсь сгенерировать файл pdf из ответа покоя, используя xslt. Все работает нормально, но в отрицательных значениях добавляется скобка, окружающая значение суммы. Как для суммы = 500 $, она работает нормально, но для суммы = -600 $ она дает ( 600 $ ).
<fo:table-cell>
<fo:block>
<xsl:value-of select="currency:getFormattedCurrency(amount/currency/text(), amount/amount/text())" />
</fo:block>
</fo:table-cell>
вот мой getFormattedCurrency ()
NumberFormat currencyFormatter = NumberFormat.getCurrencyInstance(currencyLocale);
currencyFormatter.setCurrency(currency);
return currencyFormatter.format(amount);
Я также попробовал другой способ использования serve () из xslt, так что я могу определить, имеет ли он строку отрицательного знака, и могу по-разному относиться к этим отрицательным значениям и к положительным значениям. как это -
<fo:table-cell>
<fo:block>
<xsl:choose>
<xsl:when test="contains(string(availableAmount), '-')">
<xsl:value-of select="-1*(currency:getFormattedCurrency(availableAmount/currency/text(), availableAmount/amount/text()))" />
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="currency:getFormattedCurrency(availableAmount/currency/text(), availableAmount/amount/text())" />
</xsl:otherwise>
</xsl:choose>
</fo:block>
</fo:table-cell>
Поиск предложений / решений для достижения целевого результата путем предпочтительного изменения файла xsl. Прикрепленное изображение того, что я получаю для отрицательных значений с помощью скобок и положительных значений правильно а вот пи c что на самом деле нужно.
Рад принять другой способ решения этой проблемы. :)