mirror of
https://github.com/php/doc-ru.git
synced 2026-03-24 07:42:22 +01:00
* 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
211 lines
6.2 KiB
XML
211 lines
6.2 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
||
<!-- EN-Revision: a414ee95eb79e2c62c80827a46e15da5d15af97e Maintainer: malferov Status: ready -->
|
||
<!-- Reviewed: no -->
|
||
<refentry xml:id="bcmath-number.add" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||
<refnamediv>
|
||
<refname>BcMath\Number::add</refname>
|
||
<refpurpose>Складывает числа произвольной точности</refpurpose>
|
||
</refnamediv>
|
||
|
||
<refsect1 role="description">
|
||
&reftitle.description;
|
||
<methodsynopsis role="BcMath\\Number">
|
||
<modifier>public</modifier> <type>BcMath\Number</type><methodname>BcMath\Number::add</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>
|
||
|
||
<refsect1 role="parameters">
|
||
&reftitle.parameters;
|
||
<variablelist>
|
||
<varlistentry>
|
||
<term><parameter>num</parameter></term>
|
||
<listitem>
|
||
<simpara>
|
||
Значение, которое требуется добавить.
|
||
</simpara>
|
||
</listitem>
|
||
</varlistentry>
|
||
<varlistentry>
|
||
<term><parameter>scale</parameter></term>
|
||
<listitem>
|
||
<simpara>
|
||
Свойство <property>BcMath\Number::scale</property> явно указывает значение масштаба в результате расчёта.
|
||
Со значением &null; для свойства <property>BcMath\Number::scale</property> метод автоматически установит масштаб в результате расчёта.
|
||
</simpara>
|
||
</listitem>
|
||
</varlistentry>
|
||
</variablelist>
|
||
</refsect1>
|
||
|
||
<refsect1 role="returnvalues">
|
||
&reftitle.returnvalues;
|
||
<simpara>
|
||
Метод возвращает сумму чисел в виде нового объекта <classname>BcMath\Number</classname>.
|
||
</simpara>
|
||
<simpara>
|
||
При автоустановке в объекте с результатом значения свойству <property>BcMath\Number::scale</property>
|
||
метод установит свойству наибольшее значение масштаба <property>BcMath\Number::scale</property> из двух слагаемых.
|
||
</simpara>
|
||
<simpara>
|
||
Поэтому когда значение свойства <property>BcMath\Number::scale</property> одного слагаемого равно <literal>2</literal>,
|
||
а другого <literal>5</literal>, значение свойства <property>BcMath\Number::scale</property> в результате
|
||
будет равняться <literal>5</literal>.
|
||
</simpara>
|
||
</refsect1>
|
||
|
||
<refsect1 role="errors">
|
||
&reftitle.errors;
|
||
<para>
|
||
Метод выбрасывает ошибку <exceptionname>ValueError</exceptionname> в следующих случаях:
|
||
<simplelist>
|
||
<member>
|
||
В аргументе <parameter>num</parameter> передали значение с типом <type>string</type>,
|
||
которое сформировали неправильно с точки зрения допустимого формата числовых строк в модуле BCMath.
|
||
</member>
|
||
<member>
|
||
Значение аргумента <parameter>scale</parameter> выходит за пределы допустимого диапазона.
|
||
</member>
|
||
</simplelist>
|
||
</para>
|
||
</refsect1>
|
||
|
||
<refsect1 role="examples">
|
||
&reftitle.examples;
|
||
<example>
|
||
<title>
|
||
Пример сложения чисел методом <methodname>BcMath\Number::add</methodname>
|
||
без указания значения для параметра <parameter>scale</parameter>
|
||
</title>
|
||
<programlisting role="php">
|
||
<![CDATA[
|
||
<?php
|
||
|
||
$number = new BcMath\Number('1.234');
|
||
|
||
$ret1 = $number->add(new BcMath\Number('2.34567'));
|
||
$ret2 = $number->add('-3.456');
|
||
$ret3 = $number->add(7);
|
||
|
||
var_dump($number, $ret1, $ret2, $ret3);
|
||
|
||
?>
|
||
]]>
|
||
</programlisting>
|
||
&example.outputs;
|
||
<screen>
|
||
<![CDATA[
|
||
object(BcMath\Number)#1 (2) {
|
||
["value"]=>
|
||
string(5) "1.234"
|
||
["scale"]=>
|
||
int(3)
|
||
}
|
||
object(BcMath\Number)#3 (2) {
|
||
["value"]=>
|
||
string(7) "3.57967"
|
||
["scale"]=>
|
||
int(5)
|
||
}
|
||
object(BcMath\Number)#2 (2) {
|
||
["value"]=>
|
||
string(6) "-2.222"
|
||
["scale"]=>
|
||
int(3)
|
||
}
|
||
object(BcMath\Number)#4 (2) {
|
||
["value"]=>
|
||
string(5) "8.234"
|
||
["scale"]=>
|
||
int(3)
|
||
}
|
||
]]>
|
||
</screen>
|
||
</example>
|
||
|
||
<example>
|
||
<title>
|
||
Пример сложения чисел методом <methodname>BcMath\Number::add</methodname>
|
||
с явным значением для параметра <parameter>scale</parameter>
|
||
</title>
|
||
<programlisting role="php">
|
||
<![CDATA[
|
||
<?php
|
||
|
||
$number = new BcMath\Number('1.234');
|
||
|
||
$ret1 = $number->add(new BcMath\Number('2.34567'), 1);
|
||
$ret2 = $number->add('-3.456', 10);
|
||
$ret3 = $number->add(7, 0);
|
||
|
||
var_dump($number, $ret1, $ret2, $ret3);
|
||
|
||
?>
|
||
]]>
|
||
</programlisting>
|
||
&example.outputs;
|
||
<screen>
|
||
<![CDATA[
|
||
object(BcMath\Number)#1 (2) {
|
||
["value"]=>
|
||
string(5) "1.234"
|
||
["scale"]=>
|
||
int(3)
|
||
}
|
||
object(BcMath\Number)#3 (2) {
|
||
["value"]=>
|
||
string(3) "3.5"
|
||
["scale"]=>
|
||
int(1)
|
||
}
|
||
object(BcMath\Number)#2 (2) {
|
||
["value"]=>
|
||
string(13) "-2.2220000000"
|
||
["scale"]=>
|
||
int(10)
|
||
}
|
||
object(BcMath\Number)#4 (2) {
|
||
["value"]=>
|
||
string(1) "8"
|
||
["scale"]=>
|
||
int(0)
|
||
}
|
||
]]>
|
||
</screen>
|
||
</example>
|
||
</refsect1>
|
||
|
||
<refsect1 role="seealso">
|
||
&reftitle.seealso;
|
||
<simplelist>
|
||
<member><function>bcadd</function></member>
|
||
<member><methodname>BcMath\Number::sub</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
|
||
-->
|