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
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 void append(
std::string & str,
int value
);
Formats an integer value in decimal notation.
append
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 void append(
std::string & str,
unsigned value
);
Formats an unsigned int value in decimal notation.
append
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 void append(
std::string & str,
long value
);
Formats a long value in decimal notation.
append
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 void append(
std::string & str,
unsigned long value
);
Formats an unsigned long value in decimal notation.
append
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 void append(
std::string & str,
long long value
);
Formats a 64-bit integer value in decimal notation.
append
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 void append(
std::string & str,
unsigned long long value
);
Formats an unsigned 64-bit integer value in decimal notation.
append
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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 void appendHex(
std::string & str,
unsigned value,
bool lowercase = false
);
Formats an unsigned int value in hexadecimal notation.
appendHex
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 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 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 void appendHex(
std::string & str,
unsigned long value,
bool lowercase = false
);
Formats an unsigned long value in hexadecimal notation.
appendHex
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 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 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 void appendHex(
std::string & str,
unsigned long long value,
bool lowercase = false
);
Formats a 64-bit integer value in hexadecimal notation.
appendHex
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 std::string format(
int value
);
Formats an integer value in decimal notation.
format
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 std::string format(
unsigned value
);
Formats an unsigned int value in decimal notation.
format
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 std::string format(
long value
);
Formats a long value in decimal notation.
format
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 std::string format(
unsigned long value
);
Formats an unsigned long value in decimal notation.
format
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 std::string format(
long long value
);
Formats a 64-bit integer value in decimal notation.
format
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 std::string format(
unsigned long long value
);
Formats an unsigned 64-bit integer value in decimal notation.
format
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 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 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 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 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 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 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 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 std::string format(
bool value,
BoolFormat format = FMT_TRUE_FALSE
);
Formats a bool value in decimal/text notation, according to format parameter.
format0
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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 const unsigned NF_MAX_FLT_STRING_LEN = 780;
NF_MAX_INT_STRING_LEN
static const unsigned NF_MAX_INT_STRING_LEN = 32;