blob: 33655fbf012357c0cb817bde8b29c9b31a4e759e (
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 unneeded: everything here could be done via the ``%`` string
interpolation operator.
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'
|