summaryrefslogtreecommitdiffstats
path: root/Doc/library/fpformat.rst
blob: 1a84b729d75b946f52686e0402e7b841083659ce (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56

:mod:`fpformat` --- Floating point conversions
==============================================

.. module:: fpformat
   :synopsis: General floating point formatting functions.
.. sectionauthor:: Moshe Zadka <moshez@zadka.site.co.il>


The :mod:`fpformat` module defines functions for dealing with floating point
numbers representations in 100% pure Python.

.. note::

   This module is unnecessary: everything here can be done using the string
   formatting functions described in the :ref:`string-formatting` section.

The :mod:`fpformat` module defines the following functions and an exception:


.. function:: fix(x, digs)

   Format *x* as ``[-]ddd.ddd`` with *digs* digits after the point and at least one
   digit before. If ``digs <= 0``, the decimal point is suppressed.

   *x* can be either a number or a string that looks like one. *digs* is an
   integer.

   Return value is a string.


.. function:: sci(x, digs)

   Format *x* as ``[-]d.dddE[+-]ddd`` with *digs* digits after the  point and
   exactly one digit before. If ``digs <= 0``, one digit is kept and the point is
   suppressed.

   *x* can be either a real number, or a string that looks like one. *digs* is an
   integer.

   Return value is a string.


.. exception:: NotANumber

   Exception raised when a string passed to :func:`fix` or :func:`sci` as the *x*
   parameter does not look like a number. This is a subclass of :exc:`ValueError`
   when the standard exceptions are strings.  The exception value is the improperly
   formatted string that caused the exception to be raised.

Example::

   >>> import fpformat
   >>> fpformat.fix(1.23, 1)
   '1.2'