QTBUG-26035: Remove positive sign from start of string
Updated removeGroupSeparators(QLocalePrivate::CharBuff *num) so that it
removes also positive sign ('+') at the start of the string. Auto test
included.
Task-number: QTBUG-26035
Change-Id: I8e0e071d6c682d9192a8c6bb2f282510e21b3c48
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Denis Dzyubenko <denis.dzyubenko@nokia.com>
bb10
parent
ed96d199f1
commit
0a6dc44f24
|
|
@ -249,7 +249,7 @@ bool removeGroupSeparators(QLocalePrivate::CharBuff *num)
|
|||
// Check that we are not missing a separator
|
||||
if (i < decpt_idx
|
||||
&& (decpt_idx - i) % 4 == 0
|
||||
&& !(i == 0 && c == '-')) // check for negative sign at start of string
|
||||
&& !(i == 0 && (c == '-' || c == '+'))) // check for negative or positive sign at start of string
|
||||
return false;
|
||||
++i;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -134,6 +134,7 @@ private slots:
|
|||
void listPatterns();
|
||||
|
||||
void measurementSystems();
|
||||
void QTBUG_26035_positivesign();
|
||||
|
||||
private:
|
||||
QString m_decimal, m_thousand, m_sdate, m_ldate, m_time;
|
||||
|
|
@ -2051,5 +2052,22 @@ void tst_QLocale::measurementSystems()
|
|||
QCOMPARE(locale.measurementSystem(), QLocale::MetricSystem);
|
||||
}
|
||||
|
||||
void tst_QLocale::QTBUG_26035_positivesign()
|
||||
{
|
||||
QLocale locale(QLocale::C);
|
||||
bool ok (false);
|
||||
QCOMPARE(locale.toInt(QString("+100,000"), &ok), 100000);
|
||||
QVERIFY(ok);
|
||||
ok = false;
|
||||
QCOMPARE(locale.toInt(QString("+100,000,000"), &ok), 100000000);
|
||||
QVERIFY(ok);
|
||||
ok = false;
|
||||
QCOMPARE(locale.toLongLong(QString("+100,000"), &ok), (qlonglong)100000);
|
||||
QVERIFY(ok);
|
||||
ok = false;
|
||||
QCOMPARE(locale.toLongLong(QString("+100,000,000"), &ok), (qlonglong)100000000);
|
||||
QVERIFY(ok);
|
||||
}
|
||||
|
||||
QTEST_MAIN(tst_QLocale)
|
||||
#include "tst_qlocale.moc"
|
||||
|
|
|
|||
Loading…
Reference in New Issue