PR_dtoa
Converts a floating point number to a string.
Syntax
#include <prdtoa.h>
PRStatus PR_dtoa(
PRFloat64 d,
PRIntn mode,
PRIntn ndigits,
PRIntn *decpt,
PRIntn *sign,
char **rve,
char *buf,
PRSize bufsz);
Parameters
The function has these parameters:
dThe floating point number to be converted to a string.
modeThe type of conversion to employ.
ndigitsThe number of digits desired in the output string.
decptA pointer to a memory location where the runtime will store the offset, relative to the beginning of the output string, of the conversion’s decimal point.
signA location where the runtime can store an indication that the conversion was of a negative value.
*rveIf not
NULLthis location is set to the address of the end of the result.bufThe address of the buffer in which to store the result.
bufszThe size of the buffer provided to hold the result.
Results
The principle output is the null-terminated string stored in buf. If
rve is not NULL, *rve is set to point to the end of the
returned value.
Description
This function converts the specified floating point number to a string,
using the method specified by mode. Possible modes are:
0Shortest string that yields
dwhen read in and rounded to nearest.1Like 0, but with Steele & White stopping rule. For example, with IEEE 754 arithmetic, mode 0 gives 1e23 whereas mode 1 gives 9.999999999999999e22.
2max(1, ndigits)significant digits. This gives a return value similar to that ofecvt, except that trailing zeros are suppressed.3Through
ndigitspast the decimal point. This gives a return value similar to that fromfcvt, except that trailing zeros are suppressed, andndigitscan be negative.4,5,8,9Same as modes 2 and 3, but usingleft to right digit generation.
6-9Same as modes 2 and 3, but do not try fast floating-point estimate (if applicable).
all othersTreated as mode 2.
Upon return, the buffer specified by buf and bufsz contains the
converted string. Trailing zeros are suppressed. Sufficient space is
allocated to the return value to hold the suppressed trailing zeros.
If the input parameter d is+Infinity,-Infinity orNAN,
*decpt is set to 9999.