<snip>

loc->readMoney() is supposed to return a double.  Using that one in a debug
stream as you do, uses the standard Qt functions to convert it into a string
(I doubt they are locale aware). So I expect the problem to be right there.

What happens, if you use

   qDebug() << QLocale::toCurrencyString(loc->readMoney(str, ok));

or

   qDebug() << QLocale::toString(loc->readMoney(str, ok), 'f', 2);

Does that print the value with a comma? Or stick with KLocale::formatMoney().
I am really not sure, what you try to achieve.


Just a strange result with this, after I had had to modify it, as I mentioned earlier, to this-

 QLocale qloc;
 qloc.setDefault(QLocale(QLocale::French));
 bool ok;
 ok = false;
 KLocale* kloc = KGlobal::locale();
 QString str = "123,45";
 qDebug() <<"A"<< qloc.toCurrencyString(kloc->readMoney(str, &ok));
 qDebug() <<"B"<< qloc.toString(kloc->readMoney(str, &ok), 'f', 2);

I patched that into what I'm working on, and it was executed four times, once per line out of the file.

The first pass produced this -
A "£123.45"
B "123.45"

and the next three produced this -
A "123,45 €"
B "123,45"

I haven't had a chance to investigate why the first differed.  Strange.

Allan
_______________________________________________
KMyMoney-devel mailing list
KMyMoney-devel@kde.org
https://mail.kde.org/mailman/listinfo/kmymoney-devel

Reply via email to