numpy.format_float_positional
-
numpy.format_float_positional(x, precision=None, unique=True, fractional=True, trim='k', sign=False, pad_left=None, pad_right=None, min_digits=None)
[source] -
Format a floating-point scalar as a decimal string in positional notation.
Provides control over rounding, trimming and padding. Uses and assumes IEEE unbiased rounding. Uses the “Dragon4” algorithm.
- Parameters
-
-
xpython float or numpy floating scalar
-
Value to format.
-
precisionnon-negative integer or None, optional
-
Maximum number of digits to print. May be None if
unique
isTrue
, but must be an integer if unique isFalse
. -
uniqueboolean, optional
-
If
True
, use a digit-generation strategy which gives the shortest representation which uniquely identifies the floating-point number from other values of the same type, by judicious rounding. Ifprecision
is given fewer digits than necessary can be printed, or ifmin_digits
is given more can be printed, in which cases the last digit is rounded with unbiased rounding. IfFalse
, digits are generated as if printing an infinite-precision value and stopping afterprecision
digits, rounding the remaining value with unbiased rounding -
fractionalboolean, optional
-
If
True
, the cutoffs ofprecision
andmin_digits
refer to the total number of digits after the decimal point, including leading zeros. IfFalse
,precision
andmin_digits
refer to the total number of significant digits, before or after the decimal point, ignoring leading zeros. -
trimone of ‘k’, ‘.’, ‘0’, ‘-‘, optional
-
Controls post-processing trimming of trailing digits, as follows:
- ‘k’ : keep trailing zeros, keep decimal point (no trimming)
- ‘.’ : trim all trailing zeros, leave decimal point
- ‘0’ : trim all but the zero before the decimal point. Insert the zero if it is missing.
- ‘-‘ : trim trailing zeros and any trailing decimal point
-
signboolean, optional
-
Whether to show the sign for positive values.
-
pad_leftnon-negative integer, optional
-
Pad the left side of the string with whitespace until at least that many characters are to the left of the decimal point.
-
pad_rightnon-negative integer, optional
-
Pad the right side of the string with whitespace until at least that many characters are to the right of the decimal point.
-
min_digitsnon-negative integer or None, optional
-
Minimum number of digits to print. Only has an effect if
unique=True
in which case additional digits past those necessary to uniquely identify the value may be printed, rounding the last additional digit.– versionadded:: 1.21.0
-
- Returns
-
-
repstring
-
The string representation of the floating point value
-
See also
Examples
>>> np.format_float_positional(np.float32(np.pi)) '3.1415927' >>> np.format_float_positional(np.float16(np.pi)) '3.14' >>> np.format_float_positional(np.float16(0.3)) '0.3' >>> np.format_float_positional(np.float16(0.3), unique=False, precision=10) '0.3000488281'
© 2005–2021 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/1.21/reference/generated/numpy.format_float_positional.html