Я создаю pdf из файлов xml и xslt с помощью Apache FOP 2.3.
У меня есть следующий XML:
<root>
<operations>
<operation>
<sold>5800.00</sold>
</operation>
<operation>
<sold>422.92</sold>
</operation>
<operation>
<sold>422.92</sold>
</operation>
<operation>
<sold>422.92</sold>
</operation>
<operation>
<sold>422.92</sold>
</operation>
<operation>
<sold>422.92</sold>
</operation>
<operation>
<sold>422.92</sold>
</operation>
<operation>
<sold>422.92</sold>
</operation>
<operation>
<sold>422.92</sold>
</operation>
<operation>
<sold>422.92</sold>
</operation>
<operation>
<sold>422.92</sold>
</operation>
<operation>
<sold>422.92</sold>
</operation>
<operation>
<sold>422.92</sold>
</operation>
<operation>
<sold>422.92</sold>
</operation>
<operation>
<sold>0.00</sold>
</operation>
</operations>
</root>
В файле xslt у меня есть следующая строка:
<xsl:value-of select="sum(.//operation/sold[number(.) = .])"/>
Это вычислит сумму всех sold
элементов, что приведет к 11297.960000000001
(правильный результат будет 11297.96
).Мне нужно, чтобы оно было округлено до 2 десятичных знаков, например: 11297.96
.Также, если второе десятичное число равно 0, я все еще хочу отобразить его, поэтому, если сумма была, например, 12.3
, я хочу, чтобы 12.30
появилось.