Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум программистов _ HTML, CSS, XML, JavaScript _ Округление в Xslt

Автор: Avenger 17:04:2008, 14:21

У меня выполняются пару математических операций и получаются не целые числа, как округлить до двух знаков после запятой?

Автор: Avenger 17:04:2008, 18:28

уже разобрался, вот так можно округлить:
Используя функцию format-number.
Например, format-number(3.1415926,'#.00') и на выходе получим 3.14

Автор: sax_ol 18:04:2008, 05:54

еще есть round, и им можно если именно округление нужно

Автор: Avenger 18:04:2008, 08:47

round если только нужны целые числа, он все до них и округляет по правилам округления

Автор: sax_ol 18:04:2008, 09:00

Avenger
Это же просто все
допустим у вас есть 1.0056, надо округлить до 1.01, через раунд - round(1.0056 * 100)/100, математика (уж даже и незнаю кокой класс, все так поменялось smile.gif ).

Автор: Avenger 18:04:2008, 11:26

sax_ol
а не будет ли проще в таком случае использовать format-number(1.0056,'#.00') и если понадобится более точное округление или наооборот - добавлять (удалять) 1 ноль, а не два. и выглядит более наглядно.

Автор: sax_ol 18:04:2008, 11:47

Ну если он округлет а не обрезает (проверьте), то почему нет.

Автор: Avenger 19:04:2008, 06:46

округляет, поэтому я его и использую

есть еще две функции в xslt, которые округляют
первая, floor() - возвращает наибольшее целое меньшее аргумента, например floor(3.3) вернет 3.
вторая, ceiling() - возвращает наименьшее целое число, которое больше, чем число в аргументе, например, ceiling(3.3) вернет 4

итого в xslt получается 4 функции, совершающие округления.

Русская версия Invision Power Board (http://www.nulled.ws)
© Invision Power Services (http://www.nulled.ws)