Логин:

Пароль:

Форумы
Общие вопросы
Document Object Model
Обсуждаем конференцию
Web Usability (test)

Общие вопросы

Обрезка лишних знаков после запятой

>> Порскольку мне нужно, чтобы при любом раскладе было ДВА знака после запятой (нулей, или чего еще - неважно), я написал такую вот функцию, и через нее форматирую. Работает. Лучшего и более оптимального пути тоже не знаю.
>
> а чем тебя parseInt не устраивает ?
>
> function formateNumber(num) {
> return parseInt(num)+".00";
> }
>
> или я не так понял ?

Дело в том, что parseInt() преобразовывает числа с плавающей запятой в целые числа. У меня же задача, для числа любого формата (вида, длины), например:
156.5600000000097
156.1
156.191
156

вывести результат с двумя знаками после точки, а если их нет, то с нулями, а если знак один (второй сверху пример) то добавить ноль. Т.е. отформатировать вывод.

Для вышеуказнынных чисел моя функция выведет:
156.56
156.10
156.19
156.00

Вот и все.
К сожалению, мне это не нравится. Простая задача требует написания отдельной функции.
Кстати больший гемморой начинается дальше, если числа нужно округлять как в бухгалтерии, т.е. в большую или меньшую сторону по третьему знаку после запятой.
Например (это для денег):
156.456 должно (привыполнеии такой задачи) дать на выходе 156.46 долларов, рублей и т.д.

156.454 - даст 156.45
156.4557 - 156.46 (в таком варианте анализируются последующие значения) т.е.
156.455555555555555555555556 тоже даст 156.46 (по последней цифре 6)

если мы имеем только 156.455 - то я просто не помню, что там бухгалтера делают и в какую сторону округляют, но это не важно.

Важно другое, что в JavaScript часто приходится анализировать финансовые формы, а механизма преобразования (форматирования) чисел нет. Его одни раз придется написать самому и в дальнейшем подключать эти *.js файлы, каждый раз, когда будет нужно такое форматирование.
СообщениеАвторДата
Mishka09.07.2001 23:14
Leechy10.07.2001 23:52
Gilmour11.07.2001 00:09
Leechy11.07.2001 00:18
Leechy11.07.2001 00:00
Konstantin A. M.10.07.2001 11:02
Mishka10.07.2001 18:02
Wolf10.08.2006 11:57
Gilmour10.07.2001 19:44
Mishka10.07.2001 22:43
Алексей29.08.2010 17:44
ERge03.02.2003 13:52
ERge03.02.2003 15:11
test24.03.2002 17:22
Danil Antonov24.03.2002 17:21
Gilmour10.07.2001 23:21
Gilmour11.07.2001 00:03
Gilmour11.07.2001 05:31
Mishka11.07.2001 18:11
Gilmour11.07.2001 23:23
Konstantin A. M.11.07.2001 00:47
Gilmour11.07.2001 01:12
Konstantin A. M.11.07.2001 01:18