<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/class.bcmath-number.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'ru',
  ),
  'this' => 
  array (
    0 => 'bcmath-number.round.php',
    1 => 'BcMath\\Number::round',
    2 => 'Округляет число произвольной точности',
  ),
  'up' => 
  array (
    0 => 'class.bcmath-number.php',
    1 => 'BcMath\\Number',
  ),
  'prev' => 
  array (
    0 => 'bcmath-number.powmod.php',
    1 => 'BcMath\\Number::powmod',
  ),
  'next' => 
  array (
    0 => 'bcmath-number.serialize.php',
    1 => 'BcMath\\Number::__serialize',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'ru',
    'path' => 'reference/bc/bcmath/number/round.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="bcmath-number.round" class="refentry">
 <div class="refnamediv">
  <h1 class="refname">BcMath\Number::round</h1>
  <p class="verinfo">(PHP 8 &gt;= 8.4.0)</p><p class="refpurpose"><span class="refname">BcMath\Number::round</span> &mdash; <span class="dc-title">Округляет число произвольной точности</span></p>

 </div>

 <div class="refsect1 description" id="refsect1-bcmath-number.round-description">
  <h3 class="title">Описание</h3>
  <div class="methodsynopsis dc-description">
   <span class="modifier">public</span> <span class="methodname"><strong>BcMath\Number::round</strong></span>(<span class="methodparam"><span class="type"><a href="language.types.integer.php" class="type int">int</a></span> <code class="parameter">$precision</code><span class="initializer"> = 0</span></span>, <span class="methodparam"><span class="type"><a href="enum.roundingmode.php" class="type RoundingMode">RoundingMode</a></span> <code class="parameter">$mode</code><span class="initializer"> = <strong><code>RoundingMode::HalfAwayFromZero</code></strong></span></span>): <span class="type"><a href="class.bcmath-number.php" class="type BcMath\Number">BcMath\Number</a></span></div>

  <p class="simpara">
   Метод возвращает значение переменной <var class="varname">$this</var>, которое округлил
   с точностью <code class="parameter">precision</code> —
   количество знаков после десятичной точки.
   Параметр <code class="parameter">precision</code> принимает также отрицательные значения или ноль — значение по умолчанию.
  </p>
 </div>


 <div class="refsect1 parameters" id="refsect1-bcmath-number.round-parameters">
  <h3 class="title">Список параметров</h3>
  <dl>
   
   
     <dt><code class="parameter">precision</code></dt>
     <dd>
      <p class="para">
       Необязательное количество десятичных знаков, до которых функция округлит число.
      </p>
      <p class="para">
       Функция округлит число <code class="parameter">num</code> до такого количества
       значащих цифр после десятичной точки, которое указали в параметре
       <code class="parameter">precision</code>,
       если точность <code class="parameter">precision</code> положительна.
      </p>
      <p class="para">
       Функция округлит число <code class="parameter">num</code> до такого количества
       значащих цифр перед десятичной точкой, которое указали в параметре
       <code class="parameter">precision</code>,
       если точность <code class="parameter">precision</code> отрицательна.
       При отрицательном значении точности функция округляет число до следующего
       кратного результата выражения <code class="code">pow(10, -$precision)</code>.
       Число <code class="parameter">num</code> округляется до десятков,
       если точность <code class="parameter">precision</code> равна -1,
       до сотен, если точность <code class="parameter">precision</code> равна -2, и т. д.
      </p>
     </dd>
    
   
    <dt><code class="parameter">mode</code></dt>
    <dd>
     <span class="simpara">
      Режим округления. Подробнее о режимах рассказывет описание перечисления <span class="enumname"><a href="enum.roundingmode.php" class="enumname">RoundingMode</a></span>.
     </span>
    </dd>
   
  </dl>
 </div>


 <div class="refsect1 returnvalues" id="refsect1-bcmath-number.round-returnvalues">
  <h3 class="title">Возвращаемые значения</h3>
  <p class="simpara">
   Метод возвращает результат в виде нового объекта <span class="classname"><a href="class.bcmath-number.php" class="classname">BcMath\Number</a></span>.
  </p>
 </div>


 <div class="refsect1 errors" id="refsect1-bcmath-number.round-errors">
  <h3 class="title">Ошибки</h3>
  <p class="simpara">
   При передаче недопустимого режима в параметр <code class="parameter">mode</code> метод выбрасывает ошибку <span class="exceptionname"><a href="class.valueerror.php" class="exceptionname">ValueError</a></span>.
  </p>
 </div>


 <div class="refsect1 examples" id="refsect1-bcmath-number.round-examples">
  <h3 class="title">Примеры</h3>
   <div class="example" id="example-1">
   <p><strong>Пример #1 Пример округления числа произвольной точности методом <span class="methodname"><strong>BcMath\Number::round()</strong></span></strong></p>
   <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br /><br />var_dump</span><span style="color: #007700">(<br />    new </span><span style="color: #0000BB">BcMath\Number</span><span style="color: #007700">(</span><span style="color: #DD0000">'3.4'</span><span style="color: #007700">)-&gt;</span><span style="color: #0000BB">round</span><span style="color: #007700">(),<br />    new </span><span style="color: #0000BB">BcMath\Number</span><span style="color: #007700">(</span><span style="color: #DD0000">'3.5'</span><span style="color: #007700">)-&gt;</span><span style="color: #0000BB">round</span><span style="color: #007700">(),<br />    new </span><span style="color: #0000BB">BcMath\Number</span><span style="color: #007700">(</span><span style="color: #DD0000">'3.6'</span><span style="color: #007700">)-&gt;</span><span style="color: #0000BB">round</span><span style="color: #007700">(),<br />    new </span><span style="color: #0000BB">BcMath\Number</span><span style="color: #007700">(</span><span style="color: #DD0000">'3.6'</span><span style="color: #007700">)-&gt;</span><span style="color: #0000BB">round</span><span style="color: #007700">(</span><span style="color: #0000BB">0</span><span style="color: #007700">),<br />    new </span><span style="color: #0000BB">BcMath\Number</span><span style="color: #007700">(</span><span style="color: #DD0000">'5.045'</span><span style="color: #007700">)-&gt;</span><span style="color: #0000BB">round</span><span style="color: #007700">(</span><span style="color: #0000BB">2</span><span style="color: #007700">),<br />    new </span><span style="color: #0000BB">BcMath\Number</span><span style="color: #007700">(</span><span style="color: #DD0000">'5.055'</span><span style="color: #007700">)-&gt;</span><span style="color: #0000BB">round</span><span style="color: #007700">(</span><span style="color: #0000BB">2</span><span style="color: #007700">),<br />    new </span><span style="color: #0000BB">BcMath\Number</span><span style="color: #007700">(</span><span style="color: #DD0000">'345'</span><span style="color: #007700">)-&gt;</span><span style="color: #0000BB">round</span><span style="color: #007700">(-</span><span style="color: #0000BB">2</span><span style="color: #007700">),<br />    new </span><span style="color: #0000BB">BcMath\Number</span><span style="color: #007700">(</span><span style="color: #DD0000">'345'</span><span style="color: #007700">)-&gt;</span><span style="color: #0000BB">round</span><span style="color: #007700">(-</span><span style="color: #0000BB">3</span><span style="color: #007700">),<br />    new </span><span style="color: #0000BB">BcMath\Number</span><span style="color: #007700">(</span><span style="color: #DD0000">'678'</span><span style="color: #007700">)-&gt;</span><span style="color: #0000BB">round</span><span style="color: #007700">(-</span><span style="color: #0000BB">2</span><span style="color: #007700">),<br />    new </span><span style="color: #0000BB">BcMath\Number</span><span style="color: #007700">(</span><span style="color: #DD0000">'678'</span><span style="color: #007700">)-&gt;</span><span style="color: #0000BB">round</span><span style="color: #007700">(-</span><span style="color: #0000BB">3</span><span style="color: #007700">),<br />);<br /><br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
   </div>

   
<div class="example-contents"><p>
 Результат выполнения приведённого примера:
</p></div>

   <div class="example-contents screen">
<div class="examplescode"><pre class="examplescode">object(BcMath\Number)#2 (2) {
  [&quot;value&quot;]=&gt;
  string(1) &quot;3&quot;
  [&quot;scale&quot;]=&gt;
  int(0)
}
object(BcMath\Number)#3 (2) {
  [&quot;value&quot;]=&gt;
  string(1) &quot;4&quot;
  [&quot;scale&quot;]=&gt;
  int(0)
}
object(BcMath\Number)#4 (2) {
  [&quot;value&quot;]=&gt;
  string(1) &quot;4&quot;
  [&quot;scale&quot;]=&gt;
  int(0)
}
object(BcMath\Number)#5 (2) {
  [&quot;value&quot;]=&gt;
  string(1) &quot;4&quot;
  [&quot;scale&quot;]=&gt;
  int(0)
}
object(BcMath\Number)#6 (2) {
  [&quot;value&quot;]=&gt;
  string(4) &quot;5.05&quot;
  [&quot;scale&quot;]=&gt;
  int(2)
}
object(BcMath\Number)#7 (2) {
  [&quot;value&quot;]=&gt;
  string(4) &quot;5.06&quot;
  [&quot;scale&quot;]=&gt;
  int(2)
}
object(BcMath\Number)#8 (2) {
  [&quot;value&quot;]=&gt;
  string(3) &quot;300&quot;
  [&quot;scale&quot;]=&gt;
  int(0)
}
object(BcMath\Number)#9 (2) {
  [&quot;value&quot;]=&gt;
  string(1) &quot;0&quot;
  [&quot;scale&quot;]=&gt;
  int(0)
}
object(BcMath\Number)#10 (2) {
  [&quot;value&quot;]=&gt;
  string(3) &quot;700&quot;
  [&quot;scale&quot;]=&gt;
  int(0)
}
object(BcMath\Number)#11 (2) {
  [&quot;value&quot;]=&gt;
  string(4) &quot;1000&quot;
  [&quot;scale&quot;]=&gt;
  int(0)
}</pre>
</div>
   </div>
  </div>
  <div class="example" id="example-2">
   <p><strong>Пример #2 
    Пример округления числа произвольной точности методом <span class="methodname"><strong>BcMath\Number::round()</strong></span>
    с разными значениями точности <code class="parameter">precision</code>
   </strong></p>
   <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br /><br />$number </span><span style="color: #007700">= new </span><span style="color: #0000BB">BcMath\Number</span><span style="color: #007700">(</span><span style="color: #DD0000">'123.45'</span><span style="color: #007700">);<br /><br /></span><span style="color: #0000BB">var_dump</span><span style="color: #007700">(<br />    </span><span style="color: #0000BB">$number</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">round</span><span style="color: #007700">(</span><span style="color: #0000BB">3</span><span style="color: #007700">),<br />    </span><span style="color: #0000BB">$number</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">round</span><span style="color: #007700">(</span><span style="color: #0000BB">2</span><span style="color: #007700">),<br />    </span><span style="color: #0000BB">$number</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">round</span><span style="color: #007700">(</span><span style="color: #0000BB">1</span><span style="color: #007700">),<br />    </span><span style="color: #0000BB">$number</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">round</span><span style="color: #007700">(</span><span style="color: #0000BB">0</span><span style="color: #007700">),<br />    </span><span style="color: #0000BB">$number</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">round</span><span style="color: #007700">(-</span><span style="color: #0000BB">1</span><span style="color: #007700">),<br />    </span><span style="color: #0000BB">$number</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">round</span><span style="color: #007700">(-</span><span style="color: #0000BB">2</span><span style="color: #007700">),<br />    </span><span style="color: #0000BB">$number</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">round</span><span style="color: #007700">(-</span><span style="color: #0000BB">3</span><span style="color: #007700">),<br />);<br /><br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
   </div>

   
<div class="example-contents"><p>
 Результат выполнения приведённого примера:
</p></div>

   <div class="example-contents screen">
<div class="examplescode"><pre class="examplescode">object(BcMath\Number)#2 (2) {
  [&quot;value&quot;]=&gt;
  string(7) &quot;123.450&quot;
  [&quot;scale&quot;]=&gt;
  int(2)
}
object(BcMath\Number)#3 (2) {
  [&quot;value&quot;]=&gt;
  string(6) &quot;123.45&quot;
  [&quot;scale&quot;]=&gt;
  int(3)
}
object(BcMath\Number)#4 (2) {
  [&quot;value&quot;]=&gt;
  string(5) &quot;123.5&quot;
  [&quot;scale&quot;]=&gt;
  int(1)
}
object(BcMath\Number)#5 (2) {
  [&quot;value&quot;]=&gt;
  string(3) &quot;123&quot;
  [&quot;scale&quot;]=&gt;
  int(0)
}
object(BcMath\Number)#6 (2) {
  [&quot;value&quot;]=&gt;
  string(3) &quot;120&quot;
  [&quot;scale&quot;]=&gt;
  int(0)
}
object(BcMath\Number)#7 (2) {
  [&quot;value&quot;]=&gt;
  string(3) &quot;100&quot;
  [&quot;scale&quot;]=&gt;
  int(0)
}
object(BcMath\Number)#8 (2) {
  [&quot;value&quot;]=&gt;
  string(1) &quot;0&quot;
  [&quot;scale&quot;]=&gt;
  int(0)
}</pre>
</div>
   </div>
  </div>
  <div class="example" id="example-3">
   <p><strong>Пример #3 
    Пример округления числа произвольной точности методом <span class="methodname"><strong>BcMath\Number::round()</strong></span>
    в разных режимах <code class="parameter">mode</code>
   </strong></p>
   <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br /><br /></span><span style="color: #007700">echo </span><span style="color: #DD0000">'Округление числа 9.5 в разных режимах'</span><span style="color: #007700">, </span><span style="color: #0000BB">PHP_EOL</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">$number </span><span style="color: #007700">= new </span><span style="color: #0000BB">BcMath\Number</span><span style="color: #007700">(</span><span style="color: #DD0000">'9.5'</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">var_dump</span><span style="color: #007700">(<br />    </span><span style="color: #0000BB">$number</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">round</span><span style="color: #007700">(</span><span style="color: #0000BB">0</span><span style="color: #007700">, </span><span style="color: #0000BB">RoundingMode</span><span style="color: #007700">::</span><span style="color: #0000BB">HalfAwayFromZero</span><span style="color: #007700">),<br />    </span><span style="color: #0000BB">$number</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">round</span><span style="color: #007700">(</span><span style="color: #0000BB">0</span><span style="color: #007700">, </span><span style="color: #0000BB">RoundingMode</span><span style="color: #007700">::</span><span style="color: #0000BB">HalfTowardsZero</span><span style="color: #007700">),<br />    </span><span style="color: #0000BB">$number</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">round</span><span style="color: #007700">(</span><span style="color: #0000BB">0</span><span style="color: #007700">, </span><span style="color: #0000BB">RoundingMode</span><span style="color: #007700">::</span><span style="color: #0000BB">HalfEven</span><span style="color: #007700">),<br />    </span><span style="color: #0000BB">$number</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">round</span><span style="color: #007700">(</span><span style="color: #0000BB">0</span><span style="color: #007700">, </span><span style="color: #0000BB">RoundingMode</span><span style="color: #007700">::</span><span style="color: #0000BB">HalfOdd</span><span style="color: #007700">),<br />    </span><span style="color: #0000BB">$number</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">round</span><span style="color: #007700">(</span><span style="color: #0000BB">0</span><span style="color: #007700">, </span><span style="color: #0000BB">RoundingMode</span><span style="color: #007700">::</span><span style="color: #0000BB">TowardsZero</span><span style="color: #007700">),<br />    </span><span style="color: #0000BB">$number</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">round</span><span style="color: #007700">(</span><span style="color: #0000BB">0</span><span style="color: #007700">, </span><span style="color: #0000BB">RoundingMode</span><span style="color: #007700">::</span><span style="color: #0000BB">AwayFromZero</span><span style="color: #007700">),<br />    </span><span style="color: #0000BB">$number</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">round</span><span style="color: #007700">(</span><span style="color: #0000BB">0</span><span style="color: #007700">, </span><span style="color: #0000BB">RoundingMode</span><span style="color: #007700">::</span><span style="color: #0000BB">NegativeInfinity</span><span style="color: #007700">),<br />    </span><span style="color: #0000BB">$number</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">round</span><span style="color: #007700">(</span><span style="color: #0000BB">0</span><span style="color: #007700">, </span><span style="color: #0000BB">RoundingMode</span><span style="color: #007700">::</span><span style="color: #0000BB">PositiveInfinity</span><span style="color: #007700">),<br />);<br /><br />echo </span><span style="color: #0000BB">PHP_EOL</span><span style="color: #007700">;<br />echo </span><span style="color: #DD0000">'Округление числа 8.5 в разных режимах'</span><span style="color: #007700">, </span><span style="color: #0000BB">PHP_EOL</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">$number </span><span style="color: #007700">= new </span><span style="color: #0000BB">BcMath\Number</span><span style="color: #007700">(</span><span style="color: #DD0000">'8.5'</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">var_dump</span><span style="color: #007700">(<br />    </span><span style="color: #0000BB">$number</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">round</span><span style="color: #007700">(</span><span style="color: #0000BB">0</span><span style="color: #007700">, </span><span style="color: #0000BB">RoundingMode</span><span style="color: #007700">::</span><span style="color: #0000BB">HalfAwayFromZero</span><span style="color: #007700">),<br />    </span><span style="color: #0000BB">$number</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">round</span><span style="color: #007700">(</span><span style="color: #0000BB">0</span><span style="color: #007700">, </span><span style="color: #0000BB">RoundingMode</span><span style="color: #007700">::</span><span style="color: #0000BB">HalfTowardsZero</span><span style="color: #007700">),<br />    </span><span style="color: #0000BB">$number</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">round</span><span style="color: #007700">(</span><span style="color: #0000BB">0</span><span style="color: #007700">, </span><span style="color: #0000BB">RoundingMode</span><span style="color: #007700">::</span><span style="color: #0000BB">HalfEven</span><span style="color: #007700">),<br />    </span><span style="color: #0000BB">$number</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">round</span><span style="color: #007700">(</span><span style="color: #0000BB">0</span><span style="color: #007700">, </span><span style="color: #0000BB">RoundingMode</span><span style="color: #007700">::</span><span style="color: #0000BB">HalfOdd</span><span style="color: #007700">),<br />    </span><span style="color: #0000BB">$number</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">round</span><span style="color: #007700">(</span><span style="color: #0000BB">0</span><span style="color: #007700">, </span><span style="color: #0000BB">RoundingMode</span><span style="color: #007700">::</span><span style="color: #0000BB">TowardsZero</span><span style="color: #007700">),<br />    </span><span style="color: #0000BB">$number</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">round</span><span style="color: #007700">(</span><span style="color: #0000BB">0</span><span style="color: #007700">, </span><span style="color: #0000BB">RoundingMode</span><span style="color: #007700">::</span><span style="color: #0000BB">AwayFromZero</span><span style="color: #007700">),<br />    </span><span style="color: #0000BB">$number</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">round</span><span style="color: #007700">(</span><span style="color: #0000BB">0</span><span style="color: #007700">, </span><span style="color: #0000BB">RoundingMode</span><span style="color: #007700">::</span><span style="color: #0000BB">NegativeInfinity</span><span style="color: #007700">),<br />    </span><span style="color: #0000BB">$number</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">round</span><span style="color: #007700">(</span><span style="color: #0000BB">0</span><span style="color: #007700">, </span><span style="color: #0000BB">RoundingMode</span><span style="color: #007700">::</span><span style="color: #0000BB">PositiveInfinity</span><span style="color: #007700">),<br />);<br /><br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
   </div>

   
<div class="example-contents"><p>
 Результат выполнения приведённого примера:
</p></div>

   <div class="example-contents screen">
<div class="examplescode"><pre class="examplescode">Rounding modes with 9.5
object(BcMath\Number)#3 (2) {
  [&quot;value&quot;]=&gt;
  string(2) &quot;10&quot;
  [&quot;scale&quot;]=&gt;
  int(0)
}
object(BcMath\Number)#5 (2) {
  [&quot;value&quot;]=&gt;
  string(1) &quot;9&quot;
  [&quot;scale&quot;]=&gt;
  int(0)
}
object(BcMath\Number)#7 (2) {
  [&quot;value&quot;]=&gt;
  string(2) &quot;10&quot;
  [&quot;scale&quot;]=&gt;
  int(0)
}
object(BcMath\Number)#9 (2) {
  [&quot;value&quot;]=&gt;
  string(1) &quot;9&quot;
  [&quot;scale&quot;]=&gt;
  int(0)
}
object(BcMath\Number)#11 (2) {
  [&quot;value&quot;]=&gt;
  string(1) &quot;9&quot;
  [&quot;scale&quot;]=&gt;
  int(0)
}
object(BcMath\Number)#13 (2) {
  [&quot;value&quot;]=&gt;
  string(2) &quot;10&quot;
  [&quot;scale&quot;]=&gt;
  int(0)
}
object(BcMath\Number)#15 (2) {
  [&quot;value&quot;]=&gt;
  string(1) &quot;9&quot;
  [&quot;scale&quot;]=&gt;
  int(0)
}
object(BcMath\Number)#17 (2) {
  [&quot;value&quot;]=&gt;
  string(2) &quot;10&quot;
  [&quot;scale&quot;]=&gt;
  int(0)
}

Rounding modes with 8.5
object(BcMath\Number)#1 (2) {
  [&quot;value&quot;]=&gt;
  string(1) &quot;9&quot;
  [&quot;scale&quot;]=&gt;
  int(0)
}
object(BcMath\Number)#15 (2) {
  [&quot;value&quot;]=&gt;
  string(1) &quot;8&quot;
  [&quot;scale&quot;]=&gt;
  int(0)
}
object(BcMath\Number)#13 (2) {
  [&quot;value&quot;]=&gt;
  string(1) &quot;8&quot;
  [&quot;scale&quot;]=&gt;
  int(0)
}
object(BcMath\Number)#11 (2) {
  [&quot;value&quot;]=&gt;
  string(1) &quot;9&quot;
  [&quot;scale&quot;]=&gt;
  int(0)
}
object(BcMath\Number)#9 (2) {
  [&quot;value&quot;]=&gt;
  string(1) &quot;8&quot;
  [&quot;scale&quot;]=&gt;
  int(0)
}
object(BcMath\Number)#7 (2) {
  [&quot;value&quot;]=&gt;
  string(1) &quot;9&quot;
  [&quot;scale&quot;]=&gt;
  int(0)
}
object(BcMath\Number)#5 (2) {
  [&quot;value&quot;]=&gt;
  string(1) &quot;8&quot;
  [&quot;scale&quot;]=&gt;
  int(0)
}
object(BcMath\Number)#3 (2) {
  [&quot;value&quot;]=&gt;
  string(1) &quot;9&quot;
  [&quot;scale&quot;]=&gt;
  int(0)
}</pre>
</div>
   </div>
  </div>
  <div class="example" id="example-4">
   <p><strong>Пример #4 
    Пример округления числа произвольной точности методом <span class="methodname"><strong>BcMath\Number::round()</strong></span>
    в разных режимах <code class="parameter">mode</code>
    до точности <code class="parameter">precision</code>
   </strong></p>
   <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br /><br />$positive </span><span style="color: #007700">= new </span><span style="color: #0000BB">BcMath\Number</span><span style="color: #007700">(</span><span style="color: #DD0000">'1.55'</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">$negative </span><span style="color: #007700">= new </span><span style="color: #0000BB">BcMath\Number</span><span style="color: #007700">(</span><span style="color: #DD0000">'-1.55'</span><span style="color: #007700">);<br /><br />echo </span><span style="color: #DD0000">'Режим округления RoundingMode::HalfAwayFromZero с точностью до 1 десятичного знака'</span><span style="color: #007700">, </span><span style="color: #0000BB">PHP_EOL</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">var_dump</span><span style="color: #007700">(<br />    </span><span style="color: #0000BB">$positive</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">round</span><span style="color: #007700">(</span><span style="color: #0000BB">1</span><span style="color: #007700">, </span><span style="color: #0000BB">RoundingMode</span><span style="color: #007700">::</span><span style="color: #0000BB">HalfAwayFromZero</span><span style="color: #007700">),<br />    </span><span style="color: #0000BB">$negative</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">round</span><span style="color: #007700">(</span><span style="color: #0000BB">1</span><span style="color: #007700">, </span><span style="color: #0000BB">RoundingMode</span><span style="color: #007700">::</span><span style="color: #0000BB">HalfAwayFromZero</span><span style="color: #007700">),<br />);<br /><br />echo </span><span style="color: #0000BB">PHP_EOL</span><span style="color: #007700">;<br />echo </span><span style="color: #DD0000">'Режим округления RoundingMode::HalfTowardsZero с точностью до 1 десятичного знака'</span><span style="color: #007700">, </span><span style="color: #0000BB">PHP_EOL</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">var_dump</span><span style="color: #007700">(<br />    </span><span style="color: #0000BB">$positive</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">round</span><span style="color: #007700">(</span><span style="color: #0000BB">1</span><span style="color: #007700">, </span><span style="color: #0000BB">RoundingMode</span><span style="color: #007700">::</span><span style="color: #0000BB">HalfTowardsZero</span><span style="color: #007700">),<br />    </span><span style="color: #0000BB">$negative</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">round</span><span style="color: #007700">(</span><span style="color: #0000BB">1</span><span style="color: #007700">, </span><span style="color: #0000BB">RoundingMode</span><span style="color: #007700">::</span><span style="color: #0000BB">HalfTowardsZero</span><span style="color: #007700">),<br />);<br /><br />echo </span><span style="color: #0000BB">PHP_EOL</span><span style="color: #007700">;<br />echo </span><span style="color: #DD0000">'Режим округления RoundingMode::HalfEven с точностью до 1 десятичного знака'</span><span style="color: #007700">, </span><span style="color: #0000BB">PHP_EOL</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">var_dump</span><span style="color: #007700">(<br />    </span><span style="color: #0000BB">$positive</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">round</span><span style="color: #007700">(</span><span style="color: #0000BB">1</span><span style="color: #007700">, </span><span style="color: #0000BB">RoundingMode</span><span style="color: #007700">::</span><span style="color: #0000BB">HalfEven</span><span style="color: #007700">),<br />    </span><span style="color: #0000BB">$negative</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">round</span><span style="color: #007700">(</span><span style="color: #0000BB">1</span><span style="color: #007700">, </span><span style="color: #0000BB">RoundingMode</span><span style="color: #007700">::</span><span style="color: #0000BB">HalfEven</span><span style="color: #007700">),<br />);<br /><br />echo </span><span style="color: #0000BB">PHP_EOL</span><span style="color: #007700">;<br />echo </span><span style="color: #DD0000">'Режим округления RoundingMode::HalfOdd с точностью до 1 десятичного знака'</span><span style="color: #007700">, </span><span style="color: #0000BB">PHP_EOL</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">var_dump</span><span style="color: #007700">(<br />    </span><span style="color: #0000BB">$positive</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">round</span><span style="color: #007700">(</span><span style="color: #0000BB">1</span><span style="color: #007700">, </span><span style="color: #0000BB">RoundingMode</span><span style="color: #007700">::</span><span style="color: #0000BB">HalfOdd</span><span style="color: #007700">),<br />    </span><span style="color: #0000BB">$negative</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">round</span><span style="color: #007700">(</span><span style="color: #0000BB">1</span><span style="color: #007700">, </span><span style="color: #0000BB">RoundingMode</span><span style="color: #007700">::</span><span style="color: #0000BB">HalfOdd</span><span style="color: #007700">),<br />);<br /><br />echo </span><span style="color: #0000BB">PHP_EOL</span><span style="color: #007700">;<br />echo </span><span style="color: #DD0000">'Режим округления RoundingMode::TowardsZero с точностью до 1 десятичного знака'</span><span style="color: #007700">, </span><span style="color: #0000BB">PHP_EOL</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">var_dump</span><span style="color: #007700">(<br />    </span><span style="color: #0000BB">$positive</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">round</span><span style="color: #007700">(</span><span style="color: #0000BB">1</span><span style="color: #007700">, </span><span style="color: #0000BB">RoundingMode</span><span style="color: #007700">::</span><span style="color: #0000BB">TowardsZero</span><span style="color: #007700">),<br />    </span><span style="color: #0000BB">$negative</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">round</span><span style="color: #007700">(</span><span style="color: #0000BB">1</span><span style="color: #007700">, </span><span style="color: #0000BB">RoundingMode</span><span style="color: #007700">::</span><span style="color: #0000BB">TowardsZero</span><span style="color: #007700">),<br />);<br /><br />echo </span><span style="color: #0000BB">PHP_EOL</span><span style="color: #007700">;<br />echo </span><span style="color: #DD0000">'Режим округления RoundingMode::AwayFromZero с точностью до 1 десятичного знака'</span><span style="color: #007700">, </span><span style="color: #0000BB">PHP_EOL</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">var_dump</span><span style="color: #007700">(<br />    </span><span style="color: #0000BB">$positive</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">round</span><span style="color: #007700">(</span><span style="color: #0000BB">1</span><span style="color: #007700">, </span><span style="color: #0000BB">RoundingMode</span><span style="color: #007700">::</span><span style="color: #0000BB">AwayFromZero</span><span style="color: #007700">),<br />    </span><span style="color: #0000BB">$negative</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">round</span><span style="color: #007700">(</span><span style="color: #0000BB">1</span><span style="color: #007700">, </span><span style="color: #0000BB">RoundingMode</span><span style="color: #007700">::</span><span style="color: #0000BB">AwayFromZero</span><span style="color: #007700">),<br />);<br /><br />echo </span><span style="color: #0000BB">PHP_EOL</span><span style="color: #007700">;<br />echo </span><span style="color: #DD0000">'Режим округления RoundingMode::NegativeInfinity с точностью до 1 десятичного знака'</span><span style="color: #007700">, </span><span style="color: #0000BB">PHP_EOL</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">var_dump</span><span style="color: #007700">(<br />    </span><span style="color: #0000BB">$positive</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">round</span><span style="color: #007700">(</span><span style="color: #0000BB">1</span><span style="color: #007700">, </span><span style="color: #0000BB">RoundingMode</span><span style="color: #007700">::</span><span style="color: #0000BB">NegativeInfinity</span><span style="color: #007700">),<br />    </span><span style="color: #0000BB">$negative</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">round</span><span style="color: #007700">(</span><span style="color: #0000BB">1</span><span style="color: #007700">, </span><span style="color: #0000BB">RoundingMode</span><span style="color: #007700">::</span><span style="color: #0000BB">NegativeInfinity</span><span style="color: #007700">),<br />);<br /><br />echo </span><span style="color: #0000BB">PHP_EOL</span><span style="color: #007700">;<br />echo </span><span style="color: #DD0000">'Режим округления RoundingMode::PositiveInfinity с точностью до 1 десятичного знака'</span><span style="color: #007700">, </span><span style="color: #0000BB">PHP_EOL</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">var_dump</span><span style="color: #007700">(<br />    </span><span style="color: #0000BB">$positive</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">round</span><span style="color: #007700">(</span><span style="color: #0000BB">1</span><span style="color: #007700">, </span><span style="color: #0000BB">RoundingMode</span><span style="color: #007700">::</span><span style="color: #0000BB">PositiveInfinity</span><span style="color: #007700">),<br />    </span><span style="color: #0000BB">$negative</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">round</span><span style="color: #007700">(</span><span style="color: #0000BB">1</span><span style="color: #007700">, </span><span style="color: #0000BB">RoundingMode</span><span style="color: #007700">::</span><span style="color: #0000BB">PositiveInfinity</span><span style="color: #007700">),<br />);<br /><br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
   </div>

   
<div class="example-contents"><p>
 Результат выполнения приведённого примера:
</p></div>

   <div class="example-contents screen">
<div class="examplescode"><pre class="examplescode">Режим округления RoundingMode::HalfAwayFromZero с точностью до 1 десятичного знака
object(BcMath\Number)#4 (2) {
  [&quot;value&quot;]=&gt;
  string(3) &quot;1.6&quot;
  [&quot;scale&quot;]=&gt;
  int(1)
}
object(BcMath\Number)#5 (2) {
  [&quot;value&quot;]=&gt;
  string(4) &quot;-1.6&quot;
  [&quot;scale&quot;]=&gt;
  int(1)
}

Режим округления RoundingMode::HalfTowardsZero с точностью до 1 десятичного знака
object(BcMath\Number)#4 (2) {
  [&quot;value&quot;]=&gt;
  string(3) &quot;1.5&quot;
  [&quot;scale&quot;]=&gt;
  int(1)
}
object(BcMath\Number)#6 (2) {
  [&quot;value&quot;]=&gt;
  string(4) &quot;-1.5&quot;
  [&quot;scale&quot;]=&gt;
  int(1)
}

Режим округления RoundingMode::HalfEven с точностью до 1 десятичного знака
object(BcMath\Number)#4 (2) {
  [&quot;value&quot;]=&gt;
  string(3) &quot;1.6&quot;
  [&quot;scale&quot;]=&gt;
  int(1)
}
object(BcMath\Number)#7 (2) {
  [&quot;value&quot;]=&gt;
  string(4) &quot;-1.6&quot;
  [&quot;scale&quot;]=&gt;
  int(1)
}

Режим округления RoundingMode::HalfOdd с точностью до 1 десятичного знака
object(BcMath\Number)#4 (2) {
  [&quot;value&quot;]=&gt;
  string(3) &quot;1.5&quot;
  [&quot;scale&quot;]=&gt;
  int(1)
}
object(BcMath\Number)#8 (2) {
  [&quot;value&quot;]=&gt;
  string(4) &quot;-1.5&quot;
  [&quot;scale&quot;]=&gt;
  int(1)
}

Режим округления RoundingMode::TowardsZero с точностью до 1 десятичного знака
object(BcMath\Number)#4 (2) {
  [&quot;value&quot;]=&gt;
  string(3) &quot;1.5&quot;
  [&quot;scale&quot;]=&gt;
  int(1)
}
object(BcMath\Number)#9 (2) {
  [&quot;value&quot;]=&gt;
  string(4) &quot;-1.5&quot;
  [&quot;scale&quot;]=&gt;
  int(1)
}

Режим округления RoundingMode::AwayFromZero с точностью до 1 десятичного знака
object(BcMath\Number)#4 (2) {
  [&quot;value&quot;]=&gt;
  string(3) &quot;1.6&quot;
  [&quot;scale&quot;]=&gt;
  int(1)
}
object(BcMath\Number)#10 (2) {
  [&quot;value&quot;]=&gt;
  string(4) &quot;-1.6&quot;
  [&quot;scale&quot;]=&gt;
  int(1)
}

Режим округления RoundingMode::NegativeInfinity с точностью до 1 десятичного знака
object(BcMath\Number)#4 (2) {
  [&quot;value&quot;]=&gt;
  string(3) &quot;1.5&quot;
  [&quot;scale&quot;]=&gt;
  int(1)
}
object(BcMath\Number)#11 (2) {
  [&quot;value&quot;]=&gt;
  string(4) &quot;-1.6&quot;
  [&quot;scale&quot;]=&gt;
  int(1)
}

Режим округления RoundingMode::PositiveInfinity с точностью до 1 десятичного знака
object(BcMath\Number)#4 (2) {
  [&quot;value&quot;]=&gt;
  string(3) &quot;1.6&quot;
  [&quot;scale&quot;]=&gt;
  int(1)
}
object(BcMath\Number)#12 (2) {
  [&quot;value&quot;]=&gt;
  string(4) &quot;-1.5&quot;
  [&quot;scale&quot;]=&gt;
  int(1)
}</pre>
</div>
   </div>
  </div>
 </div>


 <div class="refsect1 seealso" id="refsect1-bcmath-number.round-seealso">
  <h3 class="title">Смотрите также</h3>
  <ul class="simplelist">
   <li><span class="function"><a href="function.bcround.php" class="function" rel="rdfs-seeAlso">bcround()</a> - Округляет число произвольной точности</span></li>
   <li><span class="methodname"><a href="bcmath-number.ceil.php" class="methodname" rel="rdfs-seeAlso">BcMath\Number::ceil()</a> - Округляет число произвольной точности в бо́льшую сторону</span></li>
   <li><span class="methodname"><a href="bcmath-number.floor.php" class="methodname" rel="rdfs-seeAlso">BcMath\Number::floor()</a> - Округляет число произвольной точности в меньшую сторону</span></li>
  </ul>
 </div>


</div><?php manual_footer($setup); ?>