|
1 | 1 | <?xml version="1.0" encoding="utf-8"?> |
2 | | -<!-- EN-Revision: 1976eae0d815797af97a1e16c5cd90ffc2868395 Maintainer: sergey Status: ready --> |
| 2 | +<!-- EN-Revision: 89b92b42cc3fcbd4481f454139beb20ba3328be2 Maintainer: sergey Status: ready --> |
3 | 3 | <!-- Reviewed: no --> |
4 | 4 | <refentry xml:id="numberformatter.setattribute" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink"> |
5 | 5 | <refnamediv> |
6 | 6 | <refname>NumberFormatter::setAttribute</refname> |
7 | 7 | <refname>numfmt_set_attribute</refname> |
8 | | - <refpurpose>Устанавливает атрибут</refpurpose> |
| 8 | + <refpurpose>Устанавливает значение для атрибута форматирования чисел</refpurpose> |
9 | 9 | </refnamediv> |
10 | 10 |
|
11 | 11 | <refsect1 role="description"> |
|
28 | 28 | <methodparam><type class="union"><type>int</type><type>float</type></type><parameter>value</parameter></methodparam> |
29 | 29 | </methodsynopsis> |
30 | 30 | <para> |
31 | | - Устанавливает числовой атрибут, связанный со средством форматирования. Примером числового атрибута |
32 | | - является количество целых цифр, которое будет выдавать средство форматирования. |
| 31 | + Функция устанавливает значение для атрибута форматирования чисел. Пример атрибута числового формата — |
| 32 | + количество разрядов в целой части числа, которое выведет средство форматирования. |
33 | 33 | </para> |
34 | 34 | </refsect1> |
35 | 35 |
|
|
49 | 49 | <term><parameter>attribute</parameter></term> |
50 | 50 | <listitem> |
51 | 51 | <para> |
52 | | - Спецификатор атрибута - одна из констант |
53 | | - <link linkend="intl.numberformatter-constants.unumberformatattribute"> |
54 | | - числового атрибута</link>. |
| 52 | + Спецификатор атрибута — константа |
| 53 | + <link linkend="intl.numberformatter-constants.unumberformatattribute">атрибута форматирования чисел</link>. |
55 | 54 | </para> |
56 | 55 | </listitem> |
57 | 56 | </varlistentry> |
58 | 57 | <varlistentry> |
59 | 58 | <term><parameter>value</parameter></term> |
60 | 59 | <listitem> |
61 | 60 | <para> |
62 | | - Значение атрибута. |
| 61 | + Значение для атрибута. |
63 | 62 | </para> |
64 | 63 | </listitem> |
65 | 64 | </varlistentry> |
|
78 | 77 | <refsect1 role="examples"> |
79 | 78 | &reftitle.examples; |
80 | 79 | <example> |
81 | | - <title>Пример использования <function>numfmt_set_attribute</function></title> |
| 80 | + <title>Пример форматирования чисел функцией <function>numfmt_set_attribute</function></title> |
82 | 81 | <programlisting role="php"> |
83 | 82 | <![CDATA[ |
84 | 83 | <?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 | +
|
88 | 89 | 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"; |
92 | 92 | ]]> |
93 | 93 | </programlisting> |
94 | 94 | </example> |
95 | 95 | <example> |
96 | | - <title>Пример использования в объектно-ориентированном стиле</title> |
| 96 | + <title>Пример форматирования чисел в объектно-ориентированном стиле</title> |
97 | 97 | <programlisting role="php"> |
98 | 98 | <![CDATA[ |
99 | 99 | <?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 | +
|
103 | 105 | $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"; |
107 | 108 | ]]> |
108 | 109 | </programlisting> |
109 | 110 | </example> |
110 | 111 | &example.outputs; |
111 | 112 | <screen> |
112 | 113 | <![CDATA[ |
113 | | -Цифр: 3 |
| 114 | +Количество разрядов в дробной части числа: 3 |
114 | 115 | 1.234.567,891 |
115 | | -Цифр: 2 |
| 116 | +Количество разрядов в дробной части числа: 2 |
116 | 117 | 1.234.567,89 |
117 | 118 | ]]> |
118 | 119 | </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> |
119 | 159 | </refsect1> |
120 | 160 |
|
121 | 161 | <refsect1 role="seealso"> |
|
0 commit comments