Learn | NEPs | User Guide | API reference | Building from source | Development | Release notes | NumPy’s module structure | Array objects | Universal functions (ufunc) | Routines and objects by topic | Constants | Bit-wise operations | String functionality | Data type routines | Floating point error handling | Discrete Fourier Transform | Input and output | Linear algebra | Logic functions | Masked array operations | Mathematical functions | Miscellaneous routines | Random sampling | Set routines | Sorting, searching, and counting | Test support | Window functions
numpy.format_float_positional(x, precision=None, unique=True, fractional=True, trim='k', sign=False, pad_left=None, pad_right=None, min_digits=None)
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 scalarValue to format.
precisionnon-negative integer or None, optionalMaximum number of digits to print. May be None if
is True, but must be an integer if unique is False.
uniqueboolean, optionalIf 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. If precision is given fewer digits than necessary can be printed, or if min_digits is given more can be printed, in which cases the last digit is rounded with unbiased rounding. If False, digits are generated as if printing an infinite-precision value and stopping after precision digits, rounding the remaining value with unbiased rounding
fractionalboolean, optionalIf True, the cutoffs of precision and min_digits refer to the total number of digits after the decimal point, including leading zeros. If False, precision and min_digits refer to the total number of significant digits, before or after the decimal point, ignoring leading zeros.
trimone of ‘k’, ‘.’, ‘0’, ‘-’, optionalControls 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, optionalWhether to show the sign for positive values.
pad_leftnon-negative integer, optionalPad 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, optionalPad 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, optionalMinimum 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.
Added in version 1.21.0.
Returns:repstringThe string representation of the floating point value
Examples
>>> importnumpyasnp>>> 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'