summaryrefslogtreecommitdiffstats
path: root/docs/nspr/reference/pr_dtoa.rst
diff options
context:
space:
mode:
Diffstat (limited to 'docs/nspr/reference/pr_dtoa.rst')
-rw-r--r--docs/nspr/reference/pr_dtoa.rst93
1 files changed, 93 insertions, 0 deletions
diff --git a/docs/nspr/reference/pr_dtoa.rst b/docs/nspr/reference/pr_dtoa.rst
new file mode 100644
index 0000000000..d2f5d73bac
--- /dev/null
+++ b/docs/nspr/reference/pr_dtoa.rst
@@ -0,0 +1,93 @@
+PR_dtoa
+=======
+
+Converts a floating point number to a string.
+
+
+Syntax
+------
+
+.. code::
+
+ #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:
+
+``d``
+ The floating point number to be converted to a string.
+``mode``
+ The type of conversion to employ.
+``ndigits``
+ The number of digits desired in the output string.
+``decpt``
+ A 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.
+``sign``
+ A location where the runtime can store an indication that the
+ conversion was of a negative value.
+``*rve``
+ If not ``NULL`` this location is set to the address of the end of the
+ result.
+``buf``
+ The address of the buffer in which to store the result.
+``bufsz``
+ The 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:
+
+``0``
+ Shortest string that yields ``d`` when read in and rounded to
+ nearest.
+``1``
+ Like 0, but with Steele & White stopping rule. For example, with IEEE
+ 754 arithmetic, mode 0 gives 1e23 whereas mode 1 gives
+ 9.999999999999999e22.
+``2``
+ ``max(1, ndigits)`` significant digits. This gives a return value
+ similar to that of ``ecvt``, except that trailing zeros are
+ suppressed.
+``3``
+ Through ``ndigits`` past the decimal point. This gives a return value
+ similar to that from ``fcvt``, except that trailing zeros are
+ suppressed, and ``ndigits`` can be negative.
+``4,5,8,9``
+ Same as modes 2 and 3, but using\ *left to right* digit generation.
+``6-9``
+ Same as modes 2 and 3, but do not try fast floating-point estimate
+ (if applicable).
+``all others``
+ Treated 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* or\ *NAN*,
+``*decpt`` is set to 9999.