SUMMARY I observe a strange issue when entering monetary values with decimal separator (at least, in my local currency). Previously I used version 5.1.3 and I didn't think how I actually entered the separator. I think that I mostly used the keypad key and it entered period as the separator and everything worked well. 5.2.1 seems to be locale aware (the locale is uk_UA) and it does not accept period as the separator. That is, I can enter a period and it is shown, but if I leave a field or commit the entry, then the period disappears as if it was not there. For example, "123.45" becomes "12345". So, it seem that I have to use a comma now as it is the correct decimal separator for the locale. But there is another problem with it. If I type in a number like "123,45" it actually gets entered as "12,34". That is, the comma is moved one position left for some reason. STEPS TO REPRODUCE 1. Create a new ledger record 2. Type in "123,45" as the amount, fill other fields and enter the record OBSERVED RESULT The actual amount is shown as "12,34" EXPECTED RESULT The amount is shown as entered, "123,45" SOFTWARE/OS VERSIONS KDE Plasma Version: 6.4.4 KDE Frameworks Version: 6.17.0 Qt Version: 6.9.1 ADDITIONAL INFORMATION
After submitting this, I found a work-around of sorts. When I want to enter "123,45" I have to type it in as "123,450". The last digit does not seem to be important but I use zero just in case.
Created attachment 184430 [details] Currency settings for UAH
That is rather strange. What does KMyMoney print out on the very first few lines when you start in in a terminal window? Here's what I get: --> start with my own locale $ kmymoney Model for "ST" loaded with 4 items in 0 ms Monetary values will be formatted based on locale "de_DE" Example: "123,45 €" Long date format "dddd, d. MMMM yyyy" Short date format "dd.MM.yy" Narrow date format "dd.MM.yy" Decimal symbol ',' 44 Thousand separator '.' --> start with yours: $ LC_MONETARY="uk_UA.UTF-8" kmymoney Model for "ST" loaded with 4 items in 0 ms Monetary values will be formatted based on locale "uk_UA" Example: "123,45 ₴" Long date format "dddd, d. MMMM yyyy" Short date format "dd.MM.yy" Narrow date format "dd.MM.yy" Decimal symbol ',' 44 Thousand separator '.' Important is the decimal symbol and thousand separator. BTW, the important part is to set LC_MONETARY and not LC_NUMERIC. The function of the keypad dot or comma is controlled via KDE's advanced keyboard setting called "Numeric keypad Delete behavior". That might also influence the behavior.
This is what I see: Model for "ST" loaded with 4 items in 0 ms Monetary values will be formatted based on locale "uk_UA" Example: "123,45 ₴" Long date format "dddd, d MMMM yyyy" Short date format "dd/MM/yyyy" Narrow date format "dd/MM/yyyy" WebConnect: Try to connect to WebConnect server WebConnect: Connect to server failed WebConnect: Running in server mode System icon theme as reported by QT: "breeze-dark" App icon theme as configured in KMyMoney: "system" Obeying the system-wide icon theme, currently set to: "breeze-dark" Strangely, there is "decimal symbol" line... Let me double check if my locale settings are consistent. FWIW, I also have a tweak in KMyMoney language configuration. Primary Language: US English (en_US) Fallback Language: Ukrainian (uk) That is, because I need local monetary locale, but I prefer English interface.
Okay, I found something unusual in my environment, but it's something that I had for a long time. So maybe the problem is a pilot error but maybe it's something worth fixing. First, if I clear all LC variables and leave only LC_MONETARY=uk_UA.UTF-8, then everything works great. Even '. / DEL' key on the keypad enters ",". However, the problem that I observed can be reproduced with: LC_MONETARY=uk_UA.UTF-8 LC_NUMERIC=en_GB.UTF-8 kmymoney Apparently, having incompatible (different decimal symbols) LC_MONETARY and LC_NUMERIC confuses whatever component is responsible for monetary input in KMyMoney.