Page 85 - 6105
P. 85

alert (Math.floor (3.1)); // 3
                      alert (Math.ceil (3.1)); // 4


                      alert (Math.round (3.1)); // 3
                      Округлення бітовими операторами

                      Бітові  оператори  роблять  будь-яке  число  32-бітовим  цілим,  обрізаючи

               десяткову  частину.  В  результаті  побітова  операція,  яка  не  змінює  число,

               наприклад, подвійне бітове НЕ - округлює його:

                      alert (~~ 12.3); // 12

                      Будь-яка побітова операція такого роду підійде, наприклад XOR (виключає

               АБО, "^") з нулем:


                      alert (12.3 ^ 0); // 12
                      alert (1.2 + 1.3 ^ 0); // 2, пріоритет ^ менше, ніж +

                      Це  зручно  в  першу  чергу  тим,  що  легко  читається  і  не  змушує  ставити

               додаткові дужки як Math.floor (...):


                      var x = a * b / c ^ 0; // читається як "a * b / c і
               округлити"

                      Для округлення до потрібної цифри після коми можна помножити і поділити

               на 10 з потрібною кількістю нулів. Наприклад, округлимо 3.456 до 2-го знака після

               коми:

                      var n = 3.456;


                      alert (Math.round (n * 100) / 100); // 3.456 -> 345.6 -
               > 346 -> 3.46

                      Таким чином можна округляти число і вгору і вниз.

                      Існує  також  спеціальний  метод  num.toFixed  (precision),  який  округлює

               число num до точності precision і повертає результат у вигляді рядка:

                      var n = 12.34;


                      alert (n.toFixed (1)); // "12.3"
                      Округлення йде до найближчого значення, аналогічно Math.round:



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