# 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.

Internally, std::sprintf() is used to do the actual formatting.

## Member Summary

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

## 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,
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,
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.

### appendHex

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

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

### appendHex

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

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
);

Formats an unsigned int value in hexadecimal notation.

### appendHex

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

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
);

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
);

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
);

Formats an unsigned long value in hexadecimal notation.

### appendHex

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

Formats an unsigned long 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(
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(
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.

### 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.

### formatHex

static std::string formatHex(
int value
);

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

### formatHex

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

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.

### formatHex

static std::string formatHex(
unsigned value
);

Formats an unsigned int value in hexadecimal notation.

### formatHex

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

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

### formatHex

static std::string formatHex(
long value
);

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

### formatHex

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

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.

### formatHex

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

Formats an unsigned long value in hexadecimal notation.

### formatHex

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

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