Page 86 - 6105
P. 86

var n = 12.36;
                      alert (n.toFixed (1)); // "12.4"

                      Підсумковий  рядок,  при  необхідності,  доповнюється  нулями  до  потрібної

               точності:


                      var n = 12.34;
                      alert (n.toFixed (5)); // "12.34000", додані нулі до 5


               знаків після коми
                      Якщо потрібно отримати саме число, то можна отримати його, застосувавши

               '+' до результату n.toFixed (..):

                      var n = 12.34;

                      alert (+ n.toFixed (5)); // 12.34

                      Приклад. Виконати перевірку правильності додавання чисел 0.1 і 0.2.

                      alert (0.1 + 0.2 == 0.3);

                      Результатом виконання даної функції буде значення false.

                      Обчислимо даний вираз:

                      alert (0.1 + 0.2); // 0.30000000000000004

                      Сталася  невелика  обчислювальна  помилка,  результат  складання  0.1  +  0.2

               трохи більше, ніж 0.3.


                      alert (0.1 + 0.2> 0.3); // true
                      Вся справа в  тому, що  в стандарті  IEEE 754 на число виділяється рівно 8

               байт (= 64 біта), не більше і не менше. Число 0.1 (одна десята) записується просто

               в десятковому форматі. Але в двійковій системі числення це нескінченний дріб,

               так  як  одиниця  на  десять  в  двійковій  системі  так  просто  не  ділиться.  Також

               нескінченним  дробом  є  0.2  (=  2/10).  Двійкове  значення  нескінченних  дробів

               зберігається  тільки  до  певного  знака,  тому  виникає  неточність.  Її  навіть  можна

               побачити:


                      alert (0.1.toFixed (20)); // 0.10000000000000000555





                                                                85
   81   82   83   84   85   86   87   88   89   90   91