Skip to content

Commit 4b4a900

Browse files
authored
Update set-attribute.xml to En
1 parent c547882 commit 4b4a900

1 file changed

Lines changed: 64 additions & 24 deletions

File tree

reference/intl/numberformatter/set-attribute.xml

Lines changed: 64 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
<?xml version="1.0" encoding="utf-8"?>
2-
<!-- EN-Revision: 1976eae0d815797af97a1e16c5cd90ffc2868395 Maintainer: sergey Status: ready -->
2+
<!-- EN-Revision: 89b92b42cc3fcbd4481f454139beb20ba3328be2 Maintainer: sergey Status: ready -->
33
<!-- Reviewed: no -->
44
<refentry xml:id="numberformatter.setattribute" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
55
<refnamediv>
66
<refname>NumberFormatter::setAttribute</refname>
77
<refname>numfmt_set_attribute</refname>
8-
<refpurpose>Устанавливает атрибут</refpurpose>
8+
<refpurpose>Устанавливает значение для атрибута форматирования чисел</refpurpose>
99
</refnamediv>
1010

1111
<refsect1 role="description">
@@ -28,8 +28,8 @@
2828
<methodparam><type class="union"><type>int</type><type>float</type></type><parameter>value</parameter></methodparam>
2929
</methodsynopsis>
3030
<para>
31-
Устанавливает числовой атрибут, связанный со средством форматирования. Примером числового атрибута
32-
является количество целых цифр, которое будет выдавать средство форматирования.
31+
Функция устанавливает значение для атрибута форматирования чисел. Пример атрибута числового формата —
32+
количество разрядов в целой части числа, которое выведет средство форматирования.
3333
</para>
3434
</refsect1>
3535

@@ -49,17 +49,16 @@
4949
<term><parameter>attribute</parameter></term>
5050
<listitem>
5151
<para>
52-
Спецификатор атрибута - одна из констант
53-
<link linkend="intl.numberformatter-constants.unumberformatattribute">
54-
числового атрибута</link>.
52+
Спецификатор атрибута — константа
53+
<link linkend="intl.numberformatter-constants.unumberformatattribute">атрибута форматирования чисел</link>.
5554
</para>
5655
</listitem>
5756
</varlistentry>
5857
<varlistentry>
5958
<term><parameter>value</parameter></term>
6059
<listitem>
6160
<para>
62-
Значение атрибута.
61+
Значение для атрибута.
6362
</para>
6463
</listitem>
6564
</varlistentry>
@@ -78,44 +77,85 @@
7877
<refsect1 role="examples">
7978
&reftitle.examples;
8079
<example>
81-
<title>Пример использования <function>numfmt_set_attribute</function></title>
80+
<title>Пример форматирования чисел функцией <function>numfmt_set_attribute</function></title>
8281
<programlisting role="php">
8382
<![CDATA[
8483
<?php
85-
$fmt = numfmt_create( 'de_DE', NumberFormatter::DECIMAL );
86-
echo "Цифр: ".numfmt_get_attribute($fmt, NumberFormatter::MAX_FRACTION_DIGITS)."\n";
87-
echo numfmt_format($fmt, 1234567.891234567890000)."\n";
84+
85+
$fmt = numfmt_create('de_DE', NumberFormatter::DECIMAL);
86+
echo "Количество разрядов в дробной части числа: " . numfmt_get_attribute($fmt, NumberFormatter::MAX_FRACTION_DIGITS) . "\n";
87+
echo numfmt_format($fmt, 1234567.891234567890000) . "\n";
88+
8889
numfmt_set_attribute($fmt, NumberFormatter::MAX_FRACTION_DIGITS, 2);
89-
echo "Цифр: ".numfmt_get_attribute($fmt, NumberFormatter::MAX_FRACTION_DIGITS)."\n";
90-
echo numfmt_format($fmt, 1234567.891234567890000)."\n";
91-
?>
90+
echo "Количество разрядов в дробной части числа: " . numfmt_get_attribute($fmt, NumberFormatter::MAX_FRACTION_DIGITS) . "\n";
91+
echo numfmt_format($fmt, 1234567.891234567890000) . "\n";
9292
]]>
9393
</programlisting>
9494
</example>
9595
<example>
96-
<title>Пример использования в объектно-ориентированном стиле</title>
96+
<title>Пример форматирования чисел в объектно-ориентированном стиле</title>
9797
<programlisting role="php">
9898
<![CDATA[
9999
<?php
100-
$fmt = new NumberFormatter( 'de_DE', NumberFormatter::DECIMAL );
101-
echo "Цифр: ".$fmt->getAttribute(NumberFormatter::MAX_FRACTION_DIGITS)."\n";
102-
echo $fmt->format(1234567.891234567890000)."\n";
100+
101+
$fmt = new NumberFormatter('de_DE', NumberFormatter::DECIMAL);
102+
echo "Количество разрядов в дробной части числа: " . $fmt->getAttribute(NumberFormatter::MAX_FRACTION_DIGITS) . "\n";
103+
echo $fmt->format(1234567.891234567890000) . "\n";
104+
103105
$fmt->setAttribute(NumberFormatter::MAX_FRACTION_DIGITS, 2);
104-
echo "Цифр: ".$fmt->getAttribute(NumberFormatter::MAX_FRACTION_DIGITS)."\n";
105-
echo $fmt->format(1234567.891234567890000)."\n";
106-
?>
106+
echo "Количество разрядов в дробной части числа: " . $fmt->getAttribute(NumberFormatter::MAX_FRACTION_DIGITS) . "\n";
107+
echo $fmt->format(1234567.891234567890000) . "\n";
107108
]]>
108109
</programlisting>
109110
</example>
110111
&example.outputs;
111112
<screen>
112113
<![CDATA[
113-
Цифр: 3
114+
Количество разрядов в дробной части числа: 3
114115
1.234.567,891
115-
Цифр: 2
116+
Количество разрядов в дробной части числа: 2
116117
1.234.567,89
117118
]]>
118119
</screen>
120+
<example>
121+
<title>Пример усечения значений атрибутом <constant>NumberFormatter::ROUNDING_MODE</constant></title>
122+
<simpara>
123+
По умолчанию объект <classname>NumberFormatter</classname> округляет значения.
124+
В режиме <constant>NumberFormatter::ROUND_DOWN</constant>
125+
для атрибута <constant>NumberFormatter::ROUNDING_MODE</constant> функция усекает
126+
значение до заданного количества дробных разрядов без округления.
127+
</simpara>
128+
<programlisting role="php">
129+
<![CDATA[
130+
<?php
131+
132+
$fmt = new NumberFormatter('en_US', NumberFormatter::DECIMAL);
133+
$fmt->setAttribute(NumberFormatter::FRACTION_DIGITS, 2);
134+
135+
echo "Округление в режиме по умолчанию:\n";
136+
echo $fmt->format(3.789), "\n"; // 3.79 — результат округления вверх
137+
echo $fmt->format(3.781), "\n"; // 3.78 — результат округления вниз
138+
139+
$fmt->setAttribute(NumberFormatter::ROUNDING_MODE, NumberFormatter::ROUND_DOWN);
140+
141+
echo "\nУсечение в режиме ROUND_DOWN:\n";
142+
echo $fmt->format(3.789), "\n"; // 3.78 — результат усечения
143+
echo $fmt->format(3.781), "\n"; // 3.78 — результат усечения
144+
]]>
145+
</programlisting>
146+
&example.outputs;
147+
<screen>
148+
<![CDATA[
149+
Округление в режиме по умолчанию:
150+
3.79
151+
3.78
152+
153+
Усечение в режиме ROUND_DOWN:
154+
3.78
155+
3.78
156+
]]>
157+
</screen>
158+
</example>
119159
</refsect1>
120160

121161
<refsect1 role="seealso">

0 commit comments

Comments
 (0)