Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Корректное округление вещественных чисел (https://javascript.ru/forum/misc/2552-korrektnoe-okruglenie-veshhestvennykh-chisel.html)

Бобр 14.01.2009 15:50

Корректное округление вещественных чисел
 
Корректное округление вещественных чисел

G = 0.0012345
G.toFixed(2)

Выводит результат в 0.00, а нужна функция которая выводит не 2 цифры после запятой, а две ЗНАЧАЩИЕ цифры после запятой, то есть 0.0012 она должна вывести, а не 0.00 .

Есть такая функция или самому надо писать?

Kolyaj 14.01.2009 16:02

Самому.

Бобр 14.01.2009 16:12

Неужели никто ещё не написал?
Функция toFixed вообще бесполезная. Только вводит в заблуждение.

x-yuri 14.01.2009 16:16

во многих языках вроде так и реализовано: либо через экспоненту, либо фиксированное количество знаков после запятой
p.s. toFixed очень хорошо соответствует своему названию - выводит фиксированное количество знаков после запятой

Kolyaj 14.01.2009 16:18

Цитата:

Сообщение от Бобр
Неужели никто ещё не написал?

Если кому надо было, тот, вероятно, написал.

Цитата:

Сообщение от Бобр
Функция toFixed вообще бесполезная. Только вводит в заблуждение.

Чем она, интересно, в заблуждение вводит?

ZoNT 14.01.2009 16:32

G = 0.0012345
alert(G.toPrecision(2))

Бобр 14.01.2009 17:15

ZoNT,
Спасибо! Помогло!

Удивительно, вообще, сколько на свете дураков любящих давать советы. :)

x-yuri 14.01.2009 17:21

а тебя, БобрДобр, не смущает, что
G = 0.00000012345;
alert(G.toPrecision(2));

выдаст 1.2e-7?

ZoNT 14.01.2009 17:41

Цитата:

Сообщение от x-yuri (Сообщение 10713)
а тебя, БобрДобр, не смущает, что
G = 0.00000012345;
alert(G.toPrecision(2));

выдаст 1.2e-7?

А тебя не смущает, что
G = 0.00000012345;
alert(G);

выдаст 1.2345е-7 ???

x-yuri 14.01.2009 17:49

Бобру нужна была функция, которая выдает две ЗНАЧАЩИЕ цифры после запятой, как-то результат 1.2e-7 не очень вписывается в картину
и почему меня 1.2345е-7 должен смущать?


Часовой пояс GMT +3, время: 09:12.