| Summary: | problem entering monetary values with decimal separator | ||
|---|---|---|---|
| Product: | [Applications] kmymoney | Reporter: | Andriy Gapon <avg> |
| Component: | general | Assignee: | KMyMoney Devel Mailing List <kmymoney-devel> |
| Status: | REPORTED --- | ||
| Severity: | normal | ||
| Priority: | NOR | ||
| Version First Reported In: | 5.2.1 | ||
| Target Milestone: | --- | ||
| Platform: | FreeBSD Ports | ||
| OS: | FreeBSD | ||
| Latest Commit: | Version Fixed/Implemented In: | ||
| Sentry Crash Report: | |||
| Attachments: | Currency settings for UAH | ||
|
Description
Andriy Gapon
2025-08-25 10:02:33 UTC
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. |