XSL: отрицательные числа округлены, но не положительные - PullRequest
0 голосов
/ 22 ноября 2011

В XSL я получаю странное поведение. Я использую числовой формат, но что странно, когда я пропускаю данные, я получаю правильное число, когда у меня положительное число (число с плавающей точкой) (123,45 возвращается как 123,45), но если у меня есть отрицательное число (число с плавающей точкой), тогда оно округляется (-123,45 возвращается как -123,5)

Есть ли кто-нибудь, кто знает, что я могу сделать, чтобы исправить это, чтобы отрицательное число не было округлено?


Я использую PHP для вычисления числа.

XSL-код:

<xsl:decimal-format name="european" decimal-separator=',' grouping-separator='.' NaN="" />    
<xsl:value-of select="format-number(number, '###.###,00','european')"/>

Когда я отправил: -123,45 XSL распечатано: -123.40

Когда я отправил: "-123.45" (или -> (строка) $ number; <- где $ number - это число с плавающей точкой) XSL распечатано: -123,45 </p>

Итак, у меня возникла проблема: когда я вычислял положительное число, он возвращал мне текст в формате строки, но в отрицательной формуле я получал текст в формате с плавающей точкой из сценария PHP.

Может быть, я мог бы решить это на стороне XSL с некоторыми изменениями в коде числа-формата, чтобы XSL не округлял мои числа - есть идеи, как мне это сделать?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...