QDoubleValidator Class

The QDoubleValidator class provides range checking of floating-point numbers. More...

Header: #include <QDoubleValidator>
qmake: QT += gui
Inherits: QValidator

Public Types

enum Notation { StandardNotation, ScientificNotation }

Properties

Public Functions

double bottom() const
int decimals() const
QDoubleValidator::Notation notation() const
void setBottom(double)
void setDecimals(int)
void setNotation(QDoubleValidator::Notation)
void setTop(double)
double top() const

Signals

void bottomChanged(double bottom)
void decimalsChanged(int decimals)
void notationChanged(QDoubleValidator::Notation notation)
void topChanged(double top)

Detailed Description

QDoubleValidator provides an upper bound, a lower bound, and a limit on the number of digits after the decimal point. It does not provide a fixup() function.

You can set the acceptable range in one call with setRange(), or with setBottom() and setTop(). Set the number of decimal places with setDecimals(). The validate() function returns the validation state.

QDoubleValidator uses its locale() to interpret the number. For example, in the German locale, "1,234" will be accepted as the fractional number 1.234. In Arabic locales, QDoubleValidator will accept Arabic digits.

Note: The QLocale::NumberOptions set on the locale() also affect the way the number is interpreted. For example, since QLocale::RejectGroupSeparator is not set by default, the validator will accept group separators. It is thus recommended to use QLocale::toDouble() to obtain the numeric value.

See also QIntValidator, QRegExpValidator, QLocale::toDouble(), and Line Edits Example.

Member Type Documentation

enum QDoubleValidator::Notation

This enum defines the allowed notations for entering a double.

ConstantValueDescription
QDoubleValidator::StandardNotation0The string is written as a standard number (i.e. 0.015).
QDoubleValidator::ScientificNotation1The string is written in scientific form. It may have an exponent part(i.e. 1.5E-2).

This enum was introduced or modified in Qt 4.3.

Property Documentation

bottom : double

This property holds the validator's minimum acceptable value

By default, this property contains a value of -infinity.

Access functions:

double bottom() const
void setBottom(double)

Notifier signal:

void bottomChanged(double bottom)

See also setRange().

decimals : int

This property holds the validator's maximum number of digits after the decimal point

By default, this property contains a value of 1000.

Access functions:

int decimals() const
void setDecimals(int)

Notifier signal:

void decimalsChanged(int decimals)

See also setRange().

notation : Notation

This property holds the notation of how a string can describe a number

By default, this property is set to ScientificNotation.

This property was introduced in Qt 4.3.

Access functions:

QDoubleValidator::Notation notation() const
void setNotation(QDoubleValidator::Notation)

Notifier signal:

void notationChanged(QDoubleValidator::Notation notation)

See also Notation.

top : double

This property holds the validator's maximum acceptable value

By default, this property contains a value of infinity.

Access functions:

double top() const
void setTop(double)

Notifier signal:

void topChanged(double top)

See also setRange().