Poco

class NumberFormatter

Library: Foundation
Package: Core
Header: Poco/NumberFormatter.h

Description

The NumberFormatter class provides static methods for formatting numeric values into strings.

There are two kind of static member functions:

  • format* functions return a std::string containing the formatted value.
  • append* functions append the formatted value to an existing string.

Member Summary

Member Functions: append, append0, appendHex, format, format0, formatHex

Enumerations

BoolFormat

FMT_TRUE_FALSE

FMT_YES_NO

FMT_ON_OFF

Options

Options to control the format of the generated string.

DEFAULT = 0

formatHex defaults: No 0x prefix, uppercase hexadecimal values

PREFIX = 1 << 0

formatHex: Prepend prefix 0x

LOWERCASE = 1 << 1

formatHex: Use lowercase letters for hexadecimal values

Member Functions

append static

static void append(
    std::string & str,
    int value
);

Formats an integer value in decimal notation.

append static

static void append(
    std::string & str,
    int value,
    int width
);

Formats an integer value in decimal notation, right justified in a field having at least the specified width.

append static

static void append(
    std::string & str,
    unsigned value
);

Formats an unsigned int value in decimal notation.

append static

static void append(
    std::string & str,
    unsigned value,
    int width
);

Formats an unsigned long int in decimal notation, right justified in a field having at least the specified width.

append static

static void append(
    std::string & str,
    long value
);

Formats a long value in decimal notation.

append static

static void append(
    std::string & str,
    long value,
    int width
);

Formats a long value in decimal notation, right justified in a field having at least the specified width.

append static

static void append(
    std::string & str,
    unsigned long value
);

Formats an unsigned long value in decimal notation.

append static

static void append(
    std::string & str,
    unsigned long value,
    int width
);

Formats an unsigned long value in decimal notation, right justified in a field having at least the specified width.

append static

static void append(
    std::string & str,
    long long value
);

Formats a 64-bit integer value in decimal notation.

append static

static void append(
    std::string & str,
    long long value,
    int width
);

Formats a 64-bit integer value in decimal notation, right justified in a field having at least the specified width.

append static

static void append(
    std::string & str,
    unsigned long long value
);

Formats an unsigned 64-bit integer value in decimal notation.

append static

static void append(
    std::string & str,
    unsigned long long value,
    int width
);

Formats an unsigned 64-bit integer value in decimal notation, right justified in a field having at least the specified width.

append static

static void append(
    std::string & str,
    float value
);

Formats a float value in decimal floating-point notation, according to std::printf's %g format with a precision of 8 fractional digits.

append static

static void append(
    std::string & str,
    float value,
    int precision
);

Formats a double value in decimal floating-point notation, according to std::printf's %f format with the given precision.

append static

static void append(
    std::string & str,
    float value,
    int width,
    int precision
);

Formats a double value in decimal floating-point notation, right justified in a field of the specified width, with the number of fractional digits given in precision.

append static

static void append(
    std::string & str,
    double value
);

Formats a double value in decimal floating-point notation, according to std::printf's %g format with a precision of 16 fractional digits.

append static

static void append(
    std::string & str,
    double value,
    int precision
);

Formats a double value in decimal floating-point notation, according to std::printf's %f format with the given precision.

append static

static void append(
    std::string & str,
    double value,
    int width,
    int precision
);

Formats a double value in decimal floating-point notation, right justified in a field of the specified width, with the number of fractional digits given in precision.

append static

static void append(
    std::string & str,
    const void * ptr
);

Formats a pointer in an eight (32-bit architectures) or sixteen (64-bit architectures) characters wide field in hexadecimal notation.

append0 static

static void append0(
    std::string & str,
    int value,
    int width
);

Formats an integer value in decimal notation, right justified and zero-padded in a field having at least the specified width.

append0 static

static void append0(
    std::string & str,
    unsigned int value,
    int width
);

Formats an unsigned int value in decimal notation, right justified and zero-padded in a field having at least the specified width.

append0 static

static void append0(
    std::string & str,
    long value,
    int width
);

Formats a long value in decimal notation, right justified and zero-padded in a field having at least the specified width.

append0 static

static void append0(
    std::string & str,
    unsigned long value,
    int width
);

Formats an unsigned long value in decimal notation, right justified and zero-padded in a field having at least the specified width.

append0 static

static void append0(
    std::string & str,
    long long value,
    int width
);

Formats a 64-bit integer value in decimal notation, right justified and zero-padded in a field having at least the specified width.

append0 static

static void append0(
    std::string & str,
    unsigned long long value,
    int width
);

Formats an unsigned 64-bit integer value in decimal notation, right justified and zero-padded in a field having at least the specified width.

appendHex static

static void appendHex(
    std::string & str,
    int value,
    bool lowercase = false
);

Formats an int value in hexadecimal notation. The value is treated as unsigned.

appendHex static

static void appendHex(
    std::string & str,
    int value,
    int width,
    bool lowercase = false
);

Formats a int value in hexadecimal notation, right justified and zero-padded in a field having at least the specified width. The value is treated as unsigned.

appendHex static

static void appendHex(
    std::string & str,
    unsigned value,
    bool lowercase = false
);

Formats an unsigned int value in hexadecimal notation.

appendHex static

static void appendHex(
    std::string & str,
    unsigned value,
    int width,
    bool lowercase = false
);

Formats a int value in hexadecimal notation, right justified and zero-padded in a field having at least the specified width.

appendHex static

static void appendHex(
    std::string & str,
    long value,
    bool lowercase = false
);

Formats an unsigned long value in hexadecimal notation. The value is treated as unsigned.

appendHex static

static void appendHex(
    std::string & str,
    long value,
    int width,
    bool lowercase = false
);

Formats an unsigned long value in hexadecimal notation, right justified and zero-padded in a field having at least the specified width. The value is treated as unsigned.

appendHex static

static void appendHex(
    std::string & str,
    unsigned long value,
    bool lowercase = false
);

Formats an unsigned long value in hexadecimal notation.

appendHex static

static void appendHex(
    std::string & str,
    unsigned long value,
    int width,
    bool lowercase = false
);

Formats an unsigned long value in hexadecimal notation, right justified and zero-padded in a field having at least the specified width.

appendHex static

static void appendHex(
    std::string & str,
    long long value,
    bool lowercase = false
);

Formats a 64-bit integer value in hexadecimal notation. The value is treated as unsigned.

appendHex static

static void appendHex(
    std::string & str,
    long long value,
    int width,
    bool lowercase = false
);

Formats a 64-bit integer value in hexadecimal notation, right justified and zero-padded in a field having at least the specified width. The value is treated as unsigned.

appendHex static

static void appendHex(
    std::string & str,
    unsigned long long value,
    bool lowercase = false
);

Formats a 64-bit integer value in hexadecimal notation.

appendHex static

static void appendHex(
    std::string & str,
    unsigned long long value,
    int width,
    bool lowercase = false
);

Formats a 64-bit integer value in hexadecimal notation, right justified and zero-padded in a field having at least the specified width.

format static inline

static std::string format(
    int value
);

Formats an integer value in decimal notation.

format static

static std::string format(
    int value,
    int width
);

Formats an integer value in decimal notation, right justified in a field having at least the specified width.

format static

static std::string format(
    unsigned value
);

Formats an unsigned int value in decimal notation.

format static

static std::string format(
    unsigned value,
    int width
);

Formats an unsigned long int in decimal notation, right justified in a field having at least the specified width.

format static

static std::string format(
    long value
);

Formats a long value in decimal notation.

format static

static std::string format(
    long value,
    int width
);

Formats a long value in decimal notation, right justified in a field having at least the specified width.

format static

static std::string format(
    unsigned long value
);

Formats an unsigned long value in decimal notation.

format static

static std::string format(
    unsigned long value,
    int width
);

Formats an unsigned long value in decimal notation, right justified in a field having at least the specified width.

format static

static std::string format(
    long long value
);

Formats a 64-bit integer value in decimal notation.

format static

static std::string format(
    long long value,
    int width
);

Formats a 64-bit integer value in decimal notation, right justified in a field having at least the specified width.

format static

static std::string format(
    unsigned long long value
);

Formats an unsigned 64-bit integer value in decimal notation.

format static

static std::string format(
    unsigned long long value,
    int width
);

Formats an unsigned 64-bit integer value in decimal notation, right justified in a field having at least the specified width.

format static

static std::string format(
    float value
);

Formats a float value in decimal floating-point notation, according to std::printf's %g format with a precision of 8 fractional digits.

format static

static std::string format(
    float value,
    int precision
);

Formats a double value in decimal floating-point notation, according to std::printf's %f format with the given precision.

format static

static std::string format(
    float value,
    int width,
    int precision
);

Formats a double value in decimal floating-point notation, right justified in a field of the specified width, with the number of fractional digits given in precision.

format static

static std::string format(
    double value
);

Formats a double value in decimal floating-point notation, according to std::printf's %g format with a precision of 16 fractional digits.

format static

static std::string format(
    double value,
    int precision
);

Formats a double value in decimal floating-point notation, according to std::printf's %f format with the given precision.

format static

static std::string format(
    double value,
    int width,
    int precision
);

Formats a double value in decimal floating-point notation, right justified in a field of the specified width, with the number of fractional digits given in precision.

format static

static std::string format(
    const void * ptr
);

Formats a pointer in an eight (32-bit architectures) or sixteen (64-bit architectures) characters wide field in hexadecimal notation.

format static

static std::string format(
    bool value,
    BoolFormat format = FMT_TRUE_FALSE
);

Formats a bool value in decimal/text notation, according to format parameter.

format0 static inline

static std::string format0(
    int value,
    int width
);

Formats an integer value in decimal notation, right justified and zero-padded in a field having at least the specified width.

format0 static

static std::string format0(
    unsigned int value,
    int width
);

Formats an unsigned int value in decimal notation, right justified and zero-padded in a field having at least the specified width.

format0 static

static std::string format0(
    long value,
    int width
);

Formats a long value in decimal notation, right justified and zero-padded in a field having at least the specified width.

format0 static

static std::string format0(
    unsigned long value,
    int width
);

Formats an unsigned long value in decimal notation, right justified and zero-padded in a field having at least the specified width.

format0 static

static std::string format0(
    long long value,
    int width
);

Formats a 64-bit integer value in decimal notation, right justified and zero-padded in a field having at least the specified width.

format0 static

static std::string format0(
    unsigned long long value,
    int width
);

Formats an unsigned 64-bit integer value in decimal notation, right justified and zero-padded in a field having at least the specified width.

formatHex static inline

static std::string formatHex(
    int value,
    Options options = Options::DEFAULT
);

Formats an int value in hexadecimal notation. Options (see NumberFormatter::Options) define the format of the generated string. The value is treated as unsigned.

formatHex static

static std::string formatHex(
    int value,
    int width,
    Options options = Options::DEFAULT
);

Formats an int value in hexadecimal notation, right justified and zero-padded in a field having at least the specified width. Options (see NumberFormatter::Options) define the format of the generated string. The value is treated as unsigned.

formatHex static

static std::string formatHex(
    unsigned value,
    Options options = Options::DEFAULT
);

Formats an unsigned int value in hexadecimal notation. Options (see NumberFormatter::Options) define the format of the generated string.

formatHex static

static std::string formatHex(
    unsigned value,
    int width,
    Options options = Options::DEFAULT
);

Formats an unsigned value in hexadecimal notation, right justified and zero-padded in a field having at least the specified width. Options (see NumberFormatter::Options) define the format of the generated string.

formatHex static

static std::string formatHex(
    long value,
    Options options = Options::DEFAULT
);

Formats a long value in hexadecimal notation. Options (see NumberFormatter::Options) define the format of the generated string.

formatHex static

static std::string formatHex(
    long value,
    int width,
    Options options = Options::DEFAULT
);

Formats a long value in hexadecimal notation, right justified and zero-padded in a field having at least the specified width. Options (see NumberFormatter::Options) define the format of the generated string.

formatHex static

static std::string formatHex(
    unsigned long value,
    Options options = Options::DEFAULT
);

Formats an unsigned long value in hexadecimal notation. Options (see NumberFormatter::Options) define the format of the generated string.

formatHex static

static std::string formatHex(
    unsigned long value,
    int width,
    Options options = Options::DEFAULT
);

Formats an unsigned long value in hexadecimal notation, right justified and zero-padded in a field having at least the specified width. Options (see NumberFormatter::Options) define the format of the generated string.

formatHex static

static std::string formatHex(
    long long value,
    Options options = Options::DEFAULT
);

Formats a 64-bit integer value in hexadecimal notation. Options (see NumberFormatter::Options) define the format of the generated string.

formatHex static

static std::string formatHex(
    long long value,
    int width,
    Options options = Options::DEFAULT
);

Formats a 64-bit integer value in hexadecimal notation, right justified and zero-padded in a field having at least the specified width. The value is treated as unsigned. Options (see NumberFormatter::Options) define the format of the generated string.

formatHex static

static std::string formatHex(
    unsigned long long value,
    Options options = Options::DEFAULT
);

Formats an unsigned 64-bit value in hexadecimal notation. Options (see NumberFormatter::Options) define the format of the generated string.

formatHex static

static std::string formatHex(
    unsigned long long value,
    int width,
    Options options = Options::DEFAULT
);

Formats an unsigned 64-bit value in hexadecimal notation, right justified and zero-padded in a field having at least the specified width. The value is treated as unsigned. Options (see NumberFormatter::Options) define the format of the generated string.

formatHex static

[[deprecated ("use formatHex with options instead")]]
static std::string formatHex(
    int value,
    bool prefix
);

Deprecated. This function is deprecated and should no longer be used.

Formats an int value in hexadecimal notation. If prefix is true, "0x" prefix is prepended to the resulting string. The value is treated as unsigned.

formatHex static

[[deprecated ("use formatHex with options instead")]]
static std::string formatHex(
    int value,
    int width,
    bool prefix
);

Deprecated. This function is deprecated and should no longer be used.

Formats an int value in hexadecimal notation, right justified and zero-padded in a field having at least the specified width. If prefix is true, "0x" prefix is prepended to the resulting string. The value is treated as unsigned.

formatHex static

[[deprecated ("use formatHex with options instead")]]
static std::string formatHex(
    unsigned value,
    bool prefix
);

Deprecated. This function is deprecated and should no longer be used.

Formats an unsigned int value in hexadecimal notation. If prefix is true, "0x" prefix is prepended to the resulting string.

formatHex static

[[deprecated ("use formatHex with options instead")]]
static std::string formatHex(
    unsigned value,
    int width,
    bool prefix
);

Deprecated. This function is deprecated and should no longer be used.

Formats an unsigned value in hexadecimal notation, right justified and zero-padded in a field having at least the specified width. If prefix is true, "0x" prefix is prepended to the resulting string.

formatHex static

[[deprecated ("use formatHex with options instead")]]
static std::string formatHex(
    long value,
    bool prefix
);

Deprecated. This function is deprecated and should no longer be used.

Formats a long value in hexadecimal notation. If prefix is true, "0x" prefix is prepended to the resulting string. The value is treated as unsigned.

formatHex static

[[deprecated ("use formatHex with options instead")]]
static std::string formatHex(
    long value,
    int width,
    bool prefix
);

Deprecated. This function is deprecated and should no longer be used.

Formats a long value in hexadecimal notation, right justified and zero-padded in a field having at least the specified width. If prefix is true, "0x" prefix is prepended to the resulting string. The value is treated as unsigned.

formatHex static

[[deprecated ("use formatHex with options instead")]]
static std::string formatHex(
    unsigned long value,
    bool prefix
);

Deprecated. This function is deprecated and should no longer be used.

Formats an unsigned long value in hexadecimal notation. If prefix is true, "0x" prefix is prepended to the resulting string.

formatHex static

[[deprecated ("use formatHex with options instead")]]
static std::string formatHex(
    unsigned long value,
    int width,
    bool prefix
);

Deprecated. This function is deprecated and should no longer be used.

Formats an unsigned long value in hexadecimal notation, right justified and zero-padded in a field having at least the specified width. If prefix is true, "0x" prefix is prepended to the resulting string.

formatHex static

[[deprecated ("use formatHex with options instead")]]
static std::string formatHex(
    long long value,
    bool prefix
);

Deprecated. This function is deprecated and should no longer be used.

Formats a 64-bit integer value in hexadecimal notation. If prefix is true, "0x" prefix is prepended to the resulting string. The value is treated as unsigned.

formatHex static

[[deprecated ("use formatHex with options instead")]]
static std::string formatHex(
    long long value,
    int width,
    bool prefix
);

Deprecated. This function is deprecated and should no longer be used.

Formats a 64-bit integer value in hexadecimal notation, right justified and zero-padded in a field having at least the specified width. The value is treated as unsigned. If prefix is true, "0x" prefix is prepended to the resulting string.

formatHex static

[[deprecated ("use formatHex with options instead")]]
static std::string formatHex(
    unsigned long long value,
    bool prefix
);

Deprecated. This function is deprecated and should no longer be used.

Formats an unsigned 64-bit integer value in hexadecimal notation. If prefix is true, "0x" prefix is prepended to the resulting string.

formatHex static

[[deprecated ("use formatHex with options instead")]]
static std::string formatHex(
    unsigned long long value,
    int width,
    bool prefix
);

Deprecated. This function is deprecated and should no longer be used.

Formats an unsigned 64-bit integer value in hexadecimal notation, right justified and zero-padded in a field having at least the specified width. If prefix is true, "0x" prefix is prepended to the resulting string.

Variables

NF_MAX_FLT_STRING_LEN static

static const unsigned NF_MAX_FLT_STRING_LEN = 780;

NF_MAX_INT_STRING_LEN static

static const unsigned NF_MAX_INT_STRING_LEN = 32;