11<?xml version =" 1.0" encoding =" utf-8" ?>
2- <!-- EN-Revision: f721489eaeb79ff096971fe5a5b101c2ebab8eeb Maintainer: qrak Status: ready -->
2+ <!-- EN-Revision: 15b93836d93f01ea6d90a68cacf04ce0d9fb8eff Maintainer: qrak Status: ready -->
33<!-- $Revision$ -->
44<!-- CREDITS: sobak -->
55<refentry xml : id =" function.round" xmlns =" http://docbook.org/ns/docbook" >
1313 <type >float</type ><methodname >round</methodname >
1414 <methodparam ><type class =" union" ><type >int</type ><type >float</type ></type ><parameter >num</parameter ></methodparam >
1515 <methodparam choice =" opt" ><type >int</type ><parameter >precision</parameter ><initializer >0</initializer ></methodparam >
16- <methodparam choice =" opt" ><type > int</type ><parameter >mode</ parameter >< initializer >< constant >PHP_ROUND_HALF_UP</ constant > </initializer ></methodparam >
16+ <methodparam choice =" opt" ><type class = " union " >< type > int</type ><type >RoundingMode</ type ></ type >< parameter >mode</ parameter >< initializer >RoundingMode::HalfAwayFromZero </initializer ></methodparam >
1717 </methodsynopsis >
1818 <para >
1919 Zwraca zaokrągloną wartość argumentu <parameter >num</parameter > do
7474 <term ><parameter >mode</parameter ></term >
7575 <listitem >
7676 <para >
77- Użyj jednej z następujących stałych, aby określić w jaki sposób będzie działać zaokrąglanie.
77+ Użyj < enumname >RoundingMode</ enumname > lub jednej z następujących stałych, aby określić w jaki sposób będzie działać zaokrąglanie.
7878 <informaltable >
7979 <tgroup cols =" 2" >
8080 <thead >
115115 </tbody >
116116 </tgroup >
117117 </informaltable >
118+ Jednakże zwróć uwagę, że niektóre nowo dodane tryby istnieją tylko w <link linkend =" enum.roundingmode" >RoundingMode</link >.
118119 </para >
119120 </listitem >
120121 </varlistentry >
148149 </row >
149150 </thead >
150151 <tbody >
152+ <row >
153+ <entry >8.4.0</entry >
154+ <entry >
155+ Dodano cztery nowe tryby zaokrąglania.
156+ </entry >
157+ </row >
151158 <row >
152159 <entry >8.4.0</entry >
153160 <entry >
173180 <example >
174181 <title >Przykłady użycia <function >round</function ></title >
175182 <programlisting role =" php" >
176- <![CDATA[
183+ <![CDATA[
177184<?php
178185var_dump(round(3.4));
179186var_dump(round(3.5));
@@ -190,7 +197,7 @@ var_dump(round(678, -3));
190197 </programlisting >
191198 &example.outputs;
192199 <screen role =" php" >
193- <![CDATA[
200+ <![CDATA[
194201float(3)
195202float(4)
196203float(4)
@@ -209,7 +216,7 @@ float(1000)
209216 <example >
210217 <title >Jak <parameter >precision</parameter > wpływa na liczbę zmiennoprzecinkową</title >
211218 <programlisting role =" php" >
212- <![CDATA[
219+ <![CDATA[
213220<?php
214221$number = 135.79;
215222
@@ -225,7 +232,7 @@ var_dump(round($number, -3));
225232 </programlisting >
226233 &example.outputs;
227234 <screen role =" php" >
228- <![CDATA[
235+ <![CDATA[
229236float(135.79)
230237float(135.79)
231238float(135.8)
@@ -241,7 +248,7 @@ float(0)
241248 <example >
242249 <title >Przykłady użycia różnych wartości <parameter >mode</parameter ></title >
243250 <programlisting role =" php" >
244- <![CDATA[
251+ <![CDATA[
245252<?php
246253echo 'Tryby zaokrąglania z liczbą 9.5' . PHP_EOL;
247254var_dump(round(9.5, 0, PHP_ROUND_HALF_UP));
@@ -280,7 +287,7 @@ float(9)
280287 <example >
281288 <title >Użycie <parameter >mode</parameter > razem z <parameter >precision</parameter ></title >
282289 <programlisting role =" php" >
283- <![CDATA[
290+ <![CDATA[
284291<?php
285292echo 'Użycie PHP_ROUND_HALF_UP z dokładnością do jednego miejsca po przecinku' . PHP_EOL;
286293var_dump(round( 1.55, 1, PHP_ROUND_HALF_UP));
@@ -321,6 +328,61 @@ float(-1.6)
321328Użycie PHP_ROUND_HALF_ODD z dokładnością do jednego miejsca po przecinku
322329float(1.5)
323330float(-1.5)
331+ ]]>
332+ </screen >
333+ </example >
334+ <example >
335+ <title >Przykład użycia <enumname >RoundingMode</enumname ></title >
336+ <programlisting role =" php" >
337+ <![CDATA[
338+ <?php
339+ foreach (RoundingMode::cases() as $mode) {
340+ foreach ([
341+ 8.5,
342+ 9.5,
343+ -3.5,
344+ ] as $number) {
345+ printf("%-17s: %+.17g -> %+.17g\n", $mode->name, $number, round($number, 0, $mode));
346+ }
347+ echo "\n";
348+ }
349+ ?>
350+ ]]>
351+ </programlisting >
352+ &example.outputs;
353+ <screen role =" php" >
354+ <![CDATA[
355+ HalfAwayFromZero : +8.5 -> +9
356+ HalfAwayFromZero : +9.5 -> +10
357+ HalfAwayFromZero : -3.5 -> -4
358+
359+ HalfTowardsZero : +8.5 -> +8
360+ HalfTowardsZero : +9.5 -> +9
361+ HalfTowardsZero : -3.5 -> -3
362+
363+ HalfEven : +8.5 -> +8
364+ HalfEven : +9.5 -> +10
365+ HalfEven : -3.5 -> -4
366+
367+ HalfOdd : +8.5 -> +9
368+ HalfOdd : +9.5 -> +9
369+ HalfOdd : -3.5 -> -3
370+
371+ TowardsZero : +8.5 -> +8
372+ TowardsZero : +9.5 -> +9
373+ TowardsZero : -3.5 -> -3
374+
375+ AwayFromZero : +8.5 -> +9
376+ AwayFromZero : +9.5 -> +10
377+ AwayFromZero : -3.5 -> -4
378+
379+ NegativeInfinity : +8.5 -> +8
380+ NegativeInfinity : +9.5 -> +9
381+ NegativeInfinity : -3.5 -> -4
382+
383+ PositiveInfinity : +8.5 -> +9
384+ PositiveInfinity : +9.5 -> +10
385+ PositiveInfinity : -3.5 -> -3
324386]]>
325387 </screen >
326388 </example >
0 commit comments