1
0
mirror of https://github.com/php/doc-ru.git synced 2026-03-23 23:32:16 +01:00
Files
Mikhail Alferov 1b61e26711 Update BC to En (#1046)
* Update bcround.xml to en

* Update add.xml to en

* Update div.xml to en

* Update divmod.xml to en

* Update round.xml to en

* Update sqrt.xml to En
2025-02-13 15:06:47 +03:00

235 lines
7.3 KiB
XML
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: 6fdd8cf867d2f815053cf710ec0be441c33ed675 Maintainer: malferov Status: ready -->
<!-- Reviewed: no -->
<refentry xml:id="bcmath-number.divmod" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xi="http://www.w3.org/2001/XInclude">
<refnamediv>
<refname>BcMath\Number::divmod</refname>
<refpurpose>Получает неполное частное и остаток от деления числа произвольной точности</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis role="BcMath\\Number">
<modifier>public</modifier> <type>array</type><methodname>BcMath\Number::divmod</methodname>
<methodparam><type class="union"><type>BcMath\Number</type><type>string</type><type>int</type></type><parameter>num</parameter></methodparam>
<methodparam choice="opt"><type class="union"><type>int</type><type>null</type></type><parameter>scale</parameter><initializer>&null;</initializer></methodparam>
</methodsynopsis>
<simpara>
Метод получает неполное частное и остаток от деления значения переменной <varname>$this</varname> на число <parameter>num</parameter>.
</simpara>
</refsect1>
<!-- parameters -->
<xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) xpointer(id('bcmath-number.div')/db:refsect1[@role='parameters'])" />
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<simpara>
Метод возвращает индексный массив (<type>array</type>), в котором первый элемент — неполное частное в виде
объекта <classname>BcMath\Number</classname>, а второй элемент — остаток от деления в виде нового объекта
<classname>BcMath\Number</classname>.
</simpara>
<simpara>
Неполное частное — значение в виде целой части от деления, поэтому значение масштаба <property>BcMath\Number::scale</property>
для частного остаётся равным <literal>0</literal>, независимо от того, указали ли значение параметра <parameter>scale</parameter> явно.
</simpara>
<simpara>
Значение свойства <property>BcMath\Number::scale</property> в объекте с остатком от деления
будет равняться значению аргумента <parameter>scale</parameter>, которое указали явно.
При автоустановке в объекте с остатком от деления значения свойству <property>BcMath\Number::scale</property>
метод установит свойству наибольшее значение масштаба <property>BcMath\Number::scale</property> из двух чисел,
которые участвуют в операции операции взятия остатка.
</simpara>
<simpara>
Значение масштаба <property>BcMath\Number::scale</property> в остатке будет равняться <literal>5</literal>,
если значение свойства <property>BcMath\Number::scale</property> в одном операнде равняется <literal>2</literal>,
а в другом <literal>5</literal>.
</simpara>
</refsect1>
<refsect1 role="errors">
&reftitle.errors;
<!-- ValueError cases -->
<xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) xpointer(id('bcmath-number.add')/db:refsect1[@role='errors']/db:para[1])" />
<!-- The DivisionByZeroError case -->
<xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) xpointer(id('bcmath-number.div')/db:refsect1[@role='errors']/db:simpara[1])" />
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<example>
<title>
Пример получения неполного частного и остатка от деления методом <methodname>BcMath\Number::divmod</methodname>
без указания значения для параметра <parameter>scale</parameter>
</title>
<programlisting role="php">
<![CDATA[
<?php
echo '8.3 / 2.22' . PHP_EOL;
[$quot, $rem] = new BcMath\Number('8')->divmod(new BcMath\Number('2.22'));
var_dump($quot, $rem);
echo PHP_EOL . '8.3 / 8.3' . PHP_EOL;
[$quot, $rem] = new BcMath\Number('8.3')->divmod('8.3');
var_dump($quot, $rem);
echo PHP_EOL . '10 / -3' . PHP_EOL;
[$quot, $rem] = new BcMath\Number('10')->divmod(-3);
var_dump($quot, $rem);
?>
]]>
</programlisting>
&example.outputs;
<screen>
<![CDATA[
8.3 / 2.22
object(BcMath\Number)#3 (2) {
["value"]=>
string(1) "3"
["scale"]=>
int(0)
}
object(BcMath\Number)#4 (2) {
["value"]=>
string(4) "1.34"
["scale"]=>
int(2)
}
8.3 / 8.3
object(BcMath\Number)#2 (2) {
["value"]=>
string(1) "1"
["scale"]=>
int(0)
}
object(BcMath\Number)#5 (2) {
["value"]=>
string(3) "0.0"
["scale"]=>
int(1)
}
10 / -3
object(BcMath\Number)#3 (2) {
["value"]=>
string(2) "-3"
["scale"]=>
int(0)
}
object(BcMath\Number)#1 (2) {
["value"]=>
string(1) "1"
["scale"]=>
int(0)
}
]]>
</screen>
</example>
<example>
<title>
Пример получения неполного частного и остатка от деления методом <methodname>BcMath\Number::divmod</methodname>
с явным значением для параметра <parameter>scale</parameter>
</title>
<programlisting role="php">
<![CDATA[
<?php
echo '8.3 / 2.22' . PHP_EOL;
[$quot, $rem] = new BcMath\Number('8')->divmod(new BcMath\Number('2.22'), 1);
var_dump($quot, $rem);
echo PHP_EOL . '8.3 / 8.3' . PHP_EOL;
[$quot, $rem] = new BcMath\Number('8.3')->divmod('8.3', 4);
var_dump($quot, $rem);
echo PHP_EOL . '10 / -3' . PHP_EOL;
[$quot, $rem] = new BcMath\Number('10')->divmod(-3, 5);
var_dump($quot, $rem);
?>
]]>
</programlisting>
&example.outputs;
<screen>
<![CDATA[
8.3 / 2.22
object(BcMath\Number)#3 (2) {
["value"]=>
string(1) "3"
["scale"]=>
int(0)
}
object(BcMath\Number)#4 (2) {
["value"]=>
string(3) "1.3"
["scale"]=>
int(1)
}
8.3 / 8.3
object(BcMath\Number)#2 (2) {
["value"]=>
string(1) "1"
["scale"]=>
int(0)
}
object(BcMath\Number)#5 (2) {
["value"]=>
string(6) "0.0000"
["scale"]=>
int(4)
}
10 / -3
object(BcMath\Number)#3 (2) {
["value"]=>
string(2) "-3"
["scale"]=>
int(0)
}
object(BcMath\Number)#1 (2) {
["value"]=>
string(7) "1.00000"
["scale"]=>
int(5)
}
]]>
</screen>
</example>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<simplelist>
<member><function>bcdivmod</function></member>
<member><methodname>BcMath\Number::div</methodname></member>
<member><methodname>BcMath\Number::mod</methodname></member>
</simplelist>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->