Корректное округление вещественных чисел
Корректное округление вещественных чисел
G = 0.0012345 G.toFixed(2) Выводит результат в 0.00, а нужна функция которая выводит не 2 цифры после запятой, а две ЗНАЧАЩИЕ цифры после запятой, то есть 0.0012 она должна вывести, а не 0.00 . Есть такая функция или самому надо писать? |
Самому.
|
Неужели никто ещё не написал?
Функция toFixed вообще бесполезная. Только вводит в заблуждение. |
во многих языках вроде так и реализовано: либо через экспоненту, либо фиксированное количество знаков после запятой
p.s. toFixed очень хорошо соответствует своему названию - выводит фиксированное количество знаков после запятой |
Цитата:
Цитата:
|
G = 0.0012345 alert(G.toPrecision(2)) |
ZoNT,
Спасибо! Помогло! Удивительно, вообще, сколько на свете дураков любящих давать советы. :) |
а тебя, БобрДобр, не смущает, что
G = 0.00000012345; alert(G.toPrecision(2)); выдаст 1.2e-7? |
Цитата:
G = 0.00000012345; alert(G); выдаст 1.2345е-7 ??? |
Бобру нужна была функция, которая выдает две ЗНАЧАЩИЕ цифры после запятой, как-то результат 1.2e-7 не очень вписывается в картину
и почему меня 1.2345е-7 должен смущать? |
x-yuri,
А вы посчитайте: 1.2345е-7 = 0.00000012345 1.2e-7 = 0.00000012 |
потому что функция выдала 2 значащие цифры, просто представляет число 0.00000012 как 1.2е-7. Что тебя смущает - непонятно. Результат достигнут. Топикстартер не просил текстового вывода один-в-один, он просил
Цитата:
|
я понимаю, что toPrecision выдает результат с заданной точностью. Если автор под "2 ЗНАЧАЩИЕ цифры после запятой" подразумевал 1.2e-7, то наверное я просто забыл включить telepat mode( по-крайней мере, я не один так понял вопрос
p.s. в общем автор был "преимущественно" не понят |
Это говорит о том, что у меня "понималка" лучше развита или как?
|
скил телепата лучше прокачан ;-) это скорее больший опыт общения в форумах, лучшее понимание логики топикстартеров, имхо))
|
да, на htmlbook такие вопросы иногда задают... Да и тут тоже бывают весёлые вопросы...
|
Цитата:
|
Часовой пояс GMT +3, время: 00:26. |