本文整理汇总了C++中QLocale::d方法的典型用法代码示例。如果您正苦于以下问题:C++ QLocale::d方法的具体用法?C++ QLocale::d怎么用?C++ QLocale::d使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类QLocale
的用法示例。
在下文中一共展示了QLocale::d方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: validateWithLocale
QValidator::State QDoubleValidatorPrivate::validateWithLocale(QString &input, QLocalePrivate::NumberMode numMode, const QLocale &locale) const
{
Q_Q(const QDoubleValidator);
QByteArray buff;
if (!locale.d()->validateChars(input, numMode, &buff, q->dec))
return QValidator::Invalid;
if (buff.isEmpty())
return QValidator::Intermediate;
if (q->b >= 0 && buff.startsWith('-'))
return QValidator::Invalid;
if (q->t < 0 && buff.startsWith('+'))
return QValidator::Invalid;
bool ok, overflow;
double i = QLocalePrivate::bytearrayToDouble(buff.constData(), &ok, &overflow);
if (overflow)
return QValidator::Invalid;
if (!ok)
return QValidator::Intermediate;
if (i >= q->b && i <= q->t)
return QValidator::Acceptable;
if (notation == QDoubleValidator::StandardNotation) {
double max = qMax(qAbs(q->b), qAbs(q->t));
if (max < LLONG_MAX) {
qlonglong n = pow10(numDigits(qlonglong(max))) - 1;
if (qAbs(i) > n)
return QValidator::Invalid;
}
}
return QValidator::Intermediate;
}