numpy.format_float_scientific — NumPy v2.3.dev0 Manual (original) (raw)

numpy.format_float_scientific(x, precision=None, unique=True, trim='k', sign=False, pad_left=None, exp_digits=None, min_digits=None)[source]#

Format a floating-point scalar as a decimal string in scientific 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 is_True_, but must be an integer if unique is False.

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. If _precision_is given fewer digits than necessary can be printed. 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

trimone of ‘k’, ‘.’, ‘0’, ‘-’, optional

Controls post-processing trimming of trailing digits, as follows:

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.

exp_digitsnon-negative integer, optional

Pad the exponent with zeros until it contains at least this many digits. If omitted, the exponent will be at least 2 digits.

min_digitsnon-negative integer or None, optional

Minimum number of digits to print. This only has an effect for_unique=True_. In that case more digits than necessary to uniquely identify the value may be printed and rounded unbiased.

New in version 1.21.0.

Returns:

repstring

The string representation of the floating point value

Examples

import numpy as np np.format_float_scientific(np.float32(np.pi)) '3.1415927e+00' s = np.float32(1.23e24) np.format_float_scientific(s, unique=False, precision=15) '1.230000071797338e+24' np.format_float_scientific(s, exp_digits=4) '1.23e+0024'