Poco

class NumberParser

File Information

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

static const unsigned short NUM_BASE_DEC = 10;

NUM_BASE_HEX static

static const unsigned short NUM_BASE_HEX = 0x10;

NUM_BASE_OCT static

static const unsigned short NUM_BASE_OCT = 010;