Помощник
Здравствуйте, гость ( Вход | Регистрация )
|
|
17:04:2008, 14:21
|
|
Новенький ![]() Группа: Программист Сообщений: 45 Регистрация: 2:02:2008 Из: Минск Пользователь №: 15 147 Специализация: (X)HTML, CSS, DHTML, JS, XML/XSLT Репутация: 1
|
У меня выполняются пару математических операций и получаются не целые числа, как округлить до двух знаков после запятой?
|
|
Сообщение
#1
|
|
![]() |
|
|
17:04:2008, 18:28
|
|
Новенький ![]() Группа: Программист Сообщений: 45 Регистрация: 2:02:2008 Из: Минск Пользователь №: 15 147 Специализация: (X)HTML, CSS, DHTML, JS, XML/XSLT Репутация: 1
|
уже разобрался, вот так можно округлить:
Используя функцию format-number. Например, format-number(3.1415926,'#.00') и на выходе получим 3.14 |
|
Сообщение
#2
|
|
|
|
18:04:2008, 05:54
|
|
============== ![]() ![]() ![]() ![]() ![]() Группа: Модеры Сообщений: 1 740 Регистрация: 11:01:2007 Пользователь №: 8 750 Специализация: specialist Репутация: 27
|
еще есть round, и им можно если именно округление нужно
|
|
Сообщение
#3
|
|
|
|
18:04:2008, 08:47
|
|
Новенький ![]() Группа: Программист Сообщений: 45 Регистрация: 2:02:2008 Из: Минск Пользователь №: 15 147 Специализация: (X)HTML, CSS, DHTML, JS, XML/XSLT Репутация: 1
|
round если только нужны целые числа, он все до них и округляет по правилам округления
|
|
Сообщение
#4
|
|
|
|
18:04:2008, 09:00
|
|
============== ![]() ![]() ![]() ![]() ![]() Группа: Модеры Сообщений: 1 740 Регистрация: 11:01:2007 Пользователь №: 8 750 Специализация: specialist Репутация: 27
|
Avenger
Это же просто все допустим у вас есть 1.0056, надо округлить до 1.01, через раунд - round(1.0056 * 100)/100, математика (уж даже и незнаю кокой класс, все так поменялось |
|
Сообщение
#5
|
|
|
|
18:04:2008, 11:26
|
|
Новенький ![]() Группа: Программист Сообщений: 45 Регистрация: 2:02:2008 Из: Минск Пользователь №: 15 147 Специализация: (X)HTML, CSS, DHTML, JS, XML/XSLT Репутация: 1
|
sax_ol
а не будет ли проще в таком случае использовать format-number(1.0056,'#.00') и если понадобится более точное округление или наооборот - добавлять (удалять) 1 ноль, а не два. и выглядит более наглядно. |
|
Сообщение
#6
|
|
|
|
18:04:2008, 11:47
|
|
============== ![]() ![]() ![]() ![]() ![]() Группа: Модеры Сообщений: 1 740 Регистрация: 11:01:2007 Пользователь №: 8 750 Специализация: specialist Репутация: 27
|
Ну если он округлет а не обрезает (проверьте), то почему нет.
|
|
Сообщение
#7
|
|
|
|
19:04:2008, 06:46
|
|
Новенький ![]() Группа: Программист Сообщений: 45 Регистрация: 2:02:2008 Из: Минск Пользователь №: 15 147 Специализация: (X)HTML, CSS, DHTML, JS, XML/XSLT Репутация: 1
|
округляет, поэтому я его и использую
есть еще две функции в xslt, которые округляют первая, floor() - возвращает наибольшее целое меньшее аргумента, например floor(3.3) вернет 3. вторая, ceiling() - возвращает наименьшее целое число, которое больше, чем число в аргументе, например, ceiling(3.3) вернет 4 итого в xslt получается 4 функции, совершающие округления. |
|
Сообщение
#8
|
|
![]() |
|
Текстовая версия | Сейчас: 17:05:2008 - 11:28 |