2011-09-01 3 views
3

Как ограничить десятичное число до 4 в javascript с этими типами значений? e является показателем, так как я использую силу десяти значений. toFixed(), похоже, не работает.ограничить экспоненциальную нотацию десятичной запятой до 4 в javascript

1.0531436913408342e-7 
-5.265718456704172e-7 
8.425149530726674e7 
+1

Что вам нравится от '0,00000010531436913408342'? '0' или' "0,0000" или '1.053e-7" '? –

ответ

11

Try:

Math.round(val*10000)/10000 
+0

+1 за избиение меня до удара. – sealz

+0

hahah! плохой кредит идет на mikko, если только я могу проверить оба ваших ответа ... :) спасибо за помощь – philip

+1

Более чистый способ сделать это будет примерно таким: '' 'Math.round (val * Math .pow (10, limit))/Math.pow (10, limit) '' ' – JustMaier

0

Вы можете использовать Math.round();

Использование Math.round(x) округляют вверх или вниз до ближайшего целого числа (с помощью классических .5 правил).

Вы можете перейти по вашим критериям, указав десятичные знаки. В приведенной ниже ссылке приведены примеры для 1, 2 и 3 десятичных знаков.

Here is the link

3

Попробуйте этот метод: value.toPrecision(1 + 4) для 4 десятичных цифр.

+0

Это работало лучше, чем принятый для меня ответ –

0

Там на самом деле Javascript метод специально для ограничения количества decimal places to show in exponential notation:
*numObj*.toExponential([*fractionDigits*])

Используя ваш пример номера вы получите:
1.0531436913408342e-7.toExponential(4) // returns 1.0531e-7 -5.265718456704172e-7.toExponential(4) // returns -5.2657e-7 8.425149530726674e7.toExponential(4) // returns 8.4251e+7

Цитата из MDN:

Возвращает строка, представляющая объект Number в экспоненциальной нотации с одной цифрой до десятичной точки, округленная до фракцииDigits цифр после запятой

 Смежные вопросы

  • Нет связанных вопросов^_^