summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDenis Dzyubenko <denis.dzyubenko@nokia.com>2011-04-14 11:08:53 (GMT)
committerDenis Dzyubenko <denis.dzyubenko@nokia.com>2011-04-14 11:11:15 (GMT)
commit78d47f520b2c4acdf782d39311063f5d44376913 (patch)
treea51fe3eb2415e2b0dfac30a964b3d563f08d3004
parent2e7e8a2b805b868eade36cc44fa14bf8ca2f8c2f (diff)
downloadQt-78d47f520b2c4acdf782d39311063f5d44376913.zip
Qt-78d47f520b2c4acdf782d39311063f5d44376913.tar.gz
Qt-78d47f520b2c4acdf782d39311063f5d44376913.tar.bz2
QLocale: Fixed double to currency string conversion on Mac.
This also fixes the autotest failure on mac with macDefaultLocale test. Reviewed-by: trustme
-rw-r--r--src/corelib/tools/qlocale_mac.mm2
-rw-r--r--tests/auto/qlocale/tst_qlocale.cpp6
2 files changed, 4 insertions, 4 deletions
diff --git a/src/corelib/tools/qlocale_mac.mm b/src/corelib/tools/qlocale_mac.mm
index 29d9a53..52005e0 100644
--- a/src/corelib/tools/qlocale_mac.mm
+++ b/src/corelib/tools/qlocale_mac.mm
@@ -318,7 +318,7 @@ static QString macFormatCurrency(const QSystemLocale::CurrencyToStringArgument &
break;
}
case QVariant::Double: {
- double v = arg.value.toInt();
+ double v = arg.value.toDouble();
value = CFNumberCreate(NULL, kCFNumberDoubleType, &v);
break;
}
diff --git a/tests/auto/qlocale/tst_qlocale.cpp b/tests/auto/qlocale/tst_qlocale.cpp
index cabf12e..2b7eaae 100644
--- a/tests/auto/qlocale/tst_qlocale.cpp
+++ b/tests/auto/qlocale/tst_qlocale.cpp
@@ -1130,10 +1130,10 @@ void tst_QLocale::macDefaultLocale()
const QString timeString = locale.toString(QTime(1,2,3), QLocale::LongFormat);
QVERIFY(timeString.contains(QString("1:02:03")));
- QCOMPARE(locale.toCurrencyString(qulonglong(1234)), QString("$1,234"));
- QCOMPARE(locale.toCurrencyString(qlonglong(-1234)), QString("$-1,234"));
+ QCOMPARE(locale.toCurrencyString(qulonglong(1234)), QString("$1,234.00"));
+ QCOMPARE(locale.toCurrencyString(qlonglong(-1234)), QString("($1,234.00)"));
QCOMPARE(locale.toCurrencyString(double(1234.56)), QString("$1,234.56"));
- QCOMPARE(locale.toCurrencyString(double(-1234.56)), QString("$-1,234.56"));
+ QCOMPARE(locale.toCurrencyString(double(-1234.56)), QString("($1,234.56)"));
// Depending on the configured time zone, the time string might not
// contain a GMT specifier. (Sometimes it just names the zone, like "CEST")