]> git.saurik.com Git - apple/libc.git/blame - locale/localeconv.3
Libc-594.9.4.tar.gz
[apple/libc.git] / locale / localeconv.3
CommitLineData
224c7076
A
1.\" Copyright (c) 1993
2.\" The Regents of the University of California. All rights reserved.
3.\"
4.\" This code is derived from software contributed to Berkeley by
5.\" Donn Seeley at BSDI.
6.\"
7.\" Redistribution and use in source and binary forms, with or without
8.\" modification, are permitted provided that the following conditions
9.\" are met:
10.\" 1. Redistributions of source code must retain the above copyright
11.\" notice, this list of conditions and the following disclaimer.
12.\" 2. Redistributions in binary form must reproduce the above copyright
13.\" notice, this list of conditions and the following disclaimer in the
14.\" documentation and/or other materials provided with the distribution.
15.\" 3. All advertising materials mentioning features or use of this software
16.\" must display the following acknowledgement:
17.\" This product includes software developed by the University of
18.\" California, Berkeley and its contributors.
19.\" 4. Neither the name of the University nor the names of its contributors
20.\" may be used to endorse or promote products derived from this software
21.\" without specific prior written permission.
22.\"
23.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
24.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
25.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
26.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
27.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
28.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
29.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
30.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
31.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
32.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
33.\" SUCH DAMAGE.
34.\"
35.\" From @(#)setlocale.3 8.1 (Berkeley) 6/9/93
36.\" From FreeBSD: src/lib/libc/locale/setlocale.3,v 1.28 2003/11/15 02:26:04 tjr Exp
37.\" $FreeBSD: src/lib/libc/locale/localeconv.3,v 1.2 2004/07/05 06:36:36 ru Exp $
38.\"
39.Dd November 21, 2003
40.Dt LOCALECONV 3
41.Os
42.Sh NAME
43.Nm localeconv ,
44.Nm localeconv_l
45.Nd natural language formatting for C
46.Sh LIBRARY
47.Lb libc
48.Sh SYNOPSIS
49.In locale.h
50.Ft struct lconv *
51.Fo localeconv
52.Fa "void"
53.Fc
54.In xlocale.h
55.Ft struct lconv *
56.Fo localeconv_l
57.Fa "locale_t loc"
58.Fc
59.Sh DESCRIPTION
60The
61.Fn localeconv
62function returns a pointer to a structure
63which provides parameters for formatting numbers,
64especially currency values:
65.Bd -literal -offset indent
66struct lconv {
67 char *decimal_point;
68 char *thousands_sep;
69 char *grouping;
70 char *int_curr_symbol;
71 char *currency_symbol;
72 char *mon_decimal_point;
73 char *mon_thousands_sep;
74 char *mon_grouping;
75 char *positive_sign;
76 char *negative_sign;
77 char int_frac_digits;
78 char frac_digits;
79 char p_cs_precedes;
80 char p_sep_by_space;
81 char n_cs_precedes;
82 char n_sep_by_space;
83 char p_sign_posn;
84 char n_sign_posn;
85 char int_p_cs_precedes;
86 char int_n_cs_precedes;
87 char int_p_sep_by_space;
88 char int_n_sep_by_space;
89 char int_p_sign_posn;
90 char int_n_sign_posn;
91};
92.Ed
93.Pp
94The individual fields have the following meanings:
95.Pp
96.Bl -tag -width mon_decimal_point
97.It Va decimal_point
98The decimal point character, except for currency values,
99cannot be an empty string.
100.It Va thousands_sep
101The separator between groups of digits
102before the decimal point, except for currency values.
103.It Va grouping
104The sizes of the groups of digits, except for currency values.
105This is a pointer to a vector of integers, each of size
106.Vt char ,
107representing group size from low order digit groups
108to high order (right to left).
109The list may be terminated with 0 or
110.Dv CHAR_MAX .
111If the list is terminated with 0,
112the last group size before the 0 is repeated to account for all the digits.
113If the list is terminated with
114.Dv CHAR_MAX ,
115no more grouping is performed.
116.It Va int_curr_symbol
117The standardized international currency symbol.
118.It Va currency_symbol
119The local currency symbol.
120.It Va mon_decimal_point
121The decimal point character for currency values.
122.It Va mon_thousands_sep
123The separator for digit groups in currency values.
124.It Va mon_grouping
125Like
126.Va grouping
127but for currency values.
128.It Va positive_sign
129The character used to denote nonnegative currency values,
130usually the empty string.
131.It Va negative_sign
132The character used to denote negative currency values,
133usually a minus sign.
134.It Va int_frac_digits
135The number of digits after the decimal point
136in an international-style currency value.
137.It Va frac_digits
138The number of digits after the decimal point
139in the local style for currency values.
140.It Va p_cs_precedes
1411 if the currency symbol precedes the currency value
142for nonnegative values, 0 if it follows.
143.It Va p_sep_by_space
1441 if a space is inserted between the currency symbol
145and the currency value for nonnegative values, 0 otherwise.
146.It Va n_cs_precedes
147Like
148.Va p_cs_precedes
149but for negative values.
150.It Va n_sep_by_space
151Like
152.Va p_sep_by_space
153but for negative values.
154.It Va p_sign_posn
155The location of the
156.Va positive_sign
157with respect to a nonnegative quantity and the
158.Va currency_symbol ,
159coded as follows:
160.Pp
161.Bl -tag -width 3n -compact
162.It Li 0
163Parentheses around the entire string.
164.It Li 1
165Before the string.
166.It Li 2
167After the string.
168.It Li 3
169Just before
170.Va currency_symbol .
171.It Li 4
172Just after
173.Va currency_symbol .
174.El
175.It Va n_sign_posn
176Like
177.Va p_sign_posn
178but for negative currency values.
179.It Va int_p_cs_precedes
180Same as
181.Va p_cs_precedes ,
182but for internationally formatted monetary quantities.
183.It Va int_n_cs_precedes
184Same as
185.Va n_cs_precedes ,
186but for internationally formatted monetary quantities.
187.It Va int_p_sep_by_space
188Same as
189.Va p_sep_by_space ,
190but for internationally formatted monetary quantities.
191.It Va int_n_sep_by_space
192Same as
193.Va n_sep_by_space ,
194but for internationally formatted monetary quantities.
195.It Va int_p_sign_posn
196Same as
197.Va p_sign_posn ,
198but for internationally formatted monetary quantities.
199.It Va int_n_sign_posn
200Same as
201.Va n_sign_posn ,
202but for internationally formatted monetary quantities.
203.El
204.Pp
205Unless mentioned above,
206an empty string as a value for a field
207indicates a zero length result or
208a value that is not in the current locale.
209A
210.Dv CHAR_MAX
211result similarly denotes an unavailable value.
212.Pp
213While the
214.Fn localeconv
215function uses the current locale, the
216.Fn localeconv_l
217function may be passed a locale directly. See
218.Xr xlocale 3
219for more information.
220.Sh RETURN VALUES
221The
222.Fn localeconv
223function returns a pointer to a static object
224which may be altered by later calls to
225.Xr setlocale 3
226or
227.Fn localeconv .
228.Sh ERRORS
229No errors are defined.
230.Sh SEE ALSO
231.Xr setlocale 3 ,
232.Xr strfmon 3 ,
233.Xr xlocale 3
234.Sh STANDARDS
235The
236.Fn localeconv
237function conforms to
238.St -isoC-99 .
239.Sh HISTORY
240The
241.Fn localeconv
242function first appeared in
243.Bx 4.4 .