Library: Foundation
Package: Core
Header: Poco/NumberParser.h
Description
The NumberParser class provides static methods for parsing numbers out of strings.
Note that leading or trailing whitespace is not allowed in the string. Poco::trim() or Poco::trimInPlace() can be used to remove leading or trailing whitespace.
Member Summary
Member Functions: parse, parse64, parseBool, parseFloat, parseHex, parseHex64, parseOct, parseOct64, parseUnsigned, parseUnsigned64, tryParse, tryParse64, tryParseBool, tryParseFloat, tryParseHex, tryParseHex64, tryParseOct, tryParseOct64, tryParseUnsigned, tryParseUnsigned64
Member Functions
parse
static int parse(
const std::string & s,
char thousandSeparator = ','
);
Parses an integer value in decimal notation from the given string. Throws a SyntaxException if the string does not hold a number in decimal notation.
parse64
static Int64 parse64(
const std::string & s,
char thousandSeparator = ','
);
Parses a 64-bit integer value in decimal notation from the given string. Throws a SyntaxException if the string does not hold a number in decimal notation.
parseBool
static bool parseBool(
const std::string & s
);
Parses a bool value in decimal or string notation from the given string. Valid forms are: "0", "1", "true", "on", false", "yes", "no", "off". String forms are NOT case sensitive. Throws a SyntaxException if the string does not hold a valid bool number
parseFloat
static double parseFloat(
const std::string & s,
char decimalSeparator = '.',
char thousandSeparator = ','
);
Parses a double value in decimal floating point notation from the given string. Throws a SyntaxException if the string does not hold a floating-point number in decimal notation.
parseHex
static unsigned parseHex(
const std::string & s
);
Parses an integer value in hexadecimal notation from the given string. Throws a SyntaxException if the string does not hold a number in hexadecimal notation.
parseHex64
static UInt64 parseHex64(
const std::string & s
);
Parses a 64 bit-integer value in hexadecimal notation from the given string. Throws a SyntaxException if the string does not hold a number in hexadecimal notation.
parseOct
static unsigned parseOct(
const std::string & s
);
Parses an integer value in octal notation from the given string. Throws a SyntaxException if the string does not hold a number in hexadecimal notation.
parseOct64
static UInt64 parseOct64(
const std::string & s
);
Parses a 64 bit-integer value in octal notation from the given string. Throws a SyntaxException if the string does not hold a number in hexadecimal notation.
parseUnsigned
static unsigned parseUnsigned(
const std::string & s,
char thousandSeparator = ','
);
Parses an unsigned integer value in decimal notation from the given string. Throws a SyntaxException if the string does not hold a number in decimal notation.
parseUnsigned64
static UInt64 parseUnsigned64(
const std::string & s,
char thousandSeparator = ','
);
Parses an unsigned 64-bit integer value in decimal notation from the given string. Throws a SyntaxException if the string does not hold a number in decimal notation.
tryParse
static bool tryParse(
const std::string & s,
int & value,
char thousandSeparator = ','
);
Parses an integer value in decimal notation from the given string. Returns true if a valid integer has been found, false otherwise. If parsing was not successful, value is undefined.
tryParse64
static bool tryParse64(
const std::string & s,
Int64 & value,
char thousandSeparator = ','
);
Parses a 64-bit integer value in decimal notation from the given string. Returns true if a valid integer has been found, false otherwise. If parsing was not successful, value is undefined.
tryParseBool
static bool tryParseBool(
const std::string & s,
bool & value
);
Parses a bool value in decimal or string notation from the given string. Valid forms are: "0", "1", "true", "on", false", "yes", "no", "off". String forms are NOT case sensitive. Returns true if a valid bool number has been found, false otherwise. If parsing was not successful, value is undefined.
tryParseFloat
static bool tryParseFloat(
const std::string & s,
double & value,
char decimalSeparator = '.',
char thousandSeparator = ','
);
Parses a double value in decimal floating point notation from the given string. Returns true if a valid floating point number has been found, false otherwise. If parsing was not successful, value is undefined.
tryParseHex
static bool tryParseHex(
const std::string & s,
unsigned & value
);
Parses an unsigned integer value in hexadecimal notation from the given string. Returns true if a valid integer has been found, false otherwise. If parsing was not successful, value is undefined.
tryParseHex64
static bool tryParseHex64(
const std::string & s,
UInt64 & value
);
Parses an unsigned 64-bit integer value in hexadecimal notation from the given string. Returns true if a valid integer has been found, false otherwise. If parsing was not successful, value is undefined.
tryParseOct
static bool tryParseOct(
const std::string & s,
unsigned & value
);
Parses an unsigned integer value in octal notation from the given string. Returns true if a valid integer has been found, false otherwise. If parsing was not successful, value is undefined.
tryParseOct64
static bool tryParseOct64(
const std::string & s,
UInt64 & value
);
Parses an unsigned 64-bit integer value in octal notation from the given string. Returns true if a valid integer has been found, false otherwise. If parsing was not successful, value is undefined.
tryParseUnsigned
static bool tryParseUnsigned(
const std::string & s,
unsigned & value,
char thousandSeparator = ','
);
Parses an unsigned integer value in decimal notation from the given string. Returns true if a valid integer has been found, false otherwise. If parsing was not successful, value is undefined.
tryParseUnsigned64
static bool tryParseUnsigned64(
const std::string & s,
UInt64 & value,
char thousandSeparator = ','
);
Parses an unsigned 64-bit integer value in decimal notation from the given string. Returns true if a valid integer has been found, false otherwise. If parsing was not successful, value is undefined.
Variables
NUM_BASE_DEC
static const unsigned short NUM_BASE_DEC = 10;
NUM_BASE_HEX
static const unsigned short NUM_BASE_HEX = 0x10;
NUM_BASE_OCT
static const unsigned short NUM_BASE_OCT = 010;