[QGIS-Developer] Value entry using comma as decimal separator?

Frank Sokolic sokolic at worldonline.co.za
Sat Jul 8 00:31:50 PDT 2017


On 08/07/2017 01:11, Nyall Dawson wrote:
> Hi all,
>
> Following on from this conversation:
> https://lists.osgeo.org/pipermail/qgis-developer/2017-July/049227.html
>
> it seems we have issues in the qt5 builds under locales which use
> commas as decimal separators. Under these locales entering a value
> like "5,5"  in a spin box (such as those used in the symbol layer
> properties) , then moving focus away from the widget, will discard the
> changes.
>
> I know *nothing* about what's the expected behavior here, but a quick
> google search leads me to believe that most software follow QGIS'
> approach and require users to always use ".", regardless of the locale
> (e.g. [1]). Is this correct?
>
> It's a trivial change to make to get the spin boxes to accept the
> local decimal separator, but this would prevent users entering "5.5"
> in those locales.
>
> Can someone from one of these affected regions let me know what the
> correct behavior should be? I don't want to make the change if it
> breaks entry of 5.5 and that's the standard used in those locales.
>
> Nyall
>
> 1. https://ux.stackexchange.com/questions/74369/is-a-decimal-comma-used-in-data-entry

Hi Nyall,

I'm in South Africa where the comma is the official decimal separator. 
If I set my locale to South Africa ZAF (both on Ubuntu Linux and 
Windows) then a comma is expected as the decimal separator. However, I 
have met very few people in South Africa who actually use a comma, or 
even know that it is our "official" decimal separator. Everyone uses a 
decimal point.

This leads to problems in QGIS, however. I'm using QGIS Master on Ubuntu 
17.04 set to locale ZAF and if, for example, I want to change a stroke 
width in the Styling Dock then this is what happens:

- I initially see the default stroke width displayed as 0,26 Millimeter.

- If I change the value by using the spinner all is fine. One click up 
and the value changes to 0,46.

- If I try type in a number such as 0,8 and push enter/tab the number is 
automatically changed to Hairline.

- If, instead, I type in the number with a decimal point 0.8 the number 
is accepted but the decimal point is automatically changed to a comma.

This is confusing, to say the least. The number has to be entered with a 
point but is displayed with a comma. For me the ideal would be to use a 
decimal point throughout and ditch the comma.

Frank.




More information about the QGIS-Developer mailing list