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

static std::string formatHex(
    int value,
    bool prefix
);

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

static std::string formatHex(
    int value,
    int width,
    bool prefix
);

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

static std::string formatHex(
    unsigned value,
    bool prefix
);

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

formatHex static

static std::string formatHex(
    unsigned value,
    int width,
    bool prefix
);

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

static std::string formatHex(
    long value,
    bool prefix
);

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

static std::string formatHex(
    long value,
    int width,
    bool prefix
);

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

static std::string formatHex(
    unsigned long value,
    bool prefix
);

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

formatHex static

static std::string formatHex(
    unsigned long value,
    int width,
    bool prefix
);

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

static std::string formatHex(
    long long value,
    bool prefix
);

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

static std::string formatHex(
    long long value,
    int width,
    bool prefix
);

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

static std::string formatHex(
    unsigned long long value,
    bool prefix
);

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

formatHex static

static std::string formatHex(
    unsigned long long value,
    int width,
    bool prefix
);

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;