/ stdlib / FreeBSD / atof.3
atof.3
  1  .\" Copyright (c) 1991, 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  .\" the American National Standards Committee X3, on Information
  6  .\" Processing Systems.
  7  .\"
  8  .\" Redistribution and use in source and binary forms, with or without
  9  .\" modification, are permitted provided that the following conditions
 10  .\" are met:
 11  .\" 1. Redistributions of source code must retain the above copyright
 12  .\"    notice, this list of conditions and the following disclaimer.
 13  .\" 2. Redistributions in binary form must reproduce the above copyright
 14  .\"    notice, this list of conditions and the following disclaimer in the
 15  .\"    documentation and/or other materials provided with the distribution.
 16  .\" 4. Neither the name of the University nor the names of its contributors
 17  .\"    may be used to endorse or promote products derived from this software
 18  .\"    without specific prior written permission.
 19  .\"
 20  .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
 21  .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 22  .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 23  .\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
 24  .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
 25  .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
 26  .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
 27  .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
 28  .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
 29  .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 30  .\" SUCH DAMAGE.
 31  .\"
 32  .\"     @(#)atof.3	8.1 (Berkeley) 6/4/93
 33  .\" $FreeBSD: src/lib/libc/stdlib/atof.3,v 1.17 2007/01/09 00:28:09 imp Exp $
 34  .\"
 35  .Dd June 4, 1993
 36  .Dt ATOF 3
 37  .Os
 38  .Sh NAME
 39  .Nm atof ,
 40  .Nm atof_l
 41  .Nd convert
 42  .Tn ASCII
 43  string to double
 44  .Sh LIBRARY
 45  .Lb libc
 46  .Sh SYNOPSIS
 47  .In stdlib.h
 48  .Ft double
 49  .Fn atof "const char *str"
 50  .In xlocale.h
 51  .Ft double
 52  .Fn atof_l "const char *str" "locale_t loc"
 53  .Sh DESCRIPTION
 54  The
 55  .Fn atof
 56  function converts the initial portion of the string pointed to by
 57  .Fa str
 58  to
 59  .Vt double
 60  representation.
 61  .Pp
 62  It is equivalent to:
 63  .Bd -literal -offset indent
 64  strtod(str, (char **)NULL);
 65  .Ed
 66  .Pp
 67  The decimal point
 68  character is defined in the program's locale (category
 69  .Dv LC_NUMERIC ) .
 70  .Pp
 71  While the
 72  .Fn atof
 73  function uses the current locale, the
 74  .Fn atof_l
 75  function may be passed a locale directly. See
 76  .Xr xlocale 3
 77  for more information.
 78  .Sh IMPLEMENTATION NOTES
 79  The
 80  .Fn atof
 81  and
 82  .Fn atof_l
 83  functions are thread-safe and async-cancel-safe.
 84  .Pp
 85  The
 86  .Fn strtod 
 87  and 
 88  .Fn strtod_l
 89  functions are recommended instead of 
 90  .Fn atof
 91  and
 92  .Fn atof_l
 93  functions, especially in new code.
 94  .Sh ERRORS
 95  The function
 96  .Fn atof
 97  need not affect the value of
 98  .Va errno
 99  on an error.
100  .Sh SEE ALSO
101  .Xr atoi 3 ,
102  .Xr atol 3 ,
103  .Xr strtod 3 ,
104  .Xr strtol 3 ,
105  .Xr strtoul 3 ,
106  .Xr xlocale 3
107  .Sh STANDARDS
108  The
109  .Fn atof
110  function conforms to
111  .St -p1003.1-90 ,
112  .St -isoC ,
113  and
114  .St -isoC-99 .