South Africa decimal separator

Here in South Africa, according to someone, the “official” decimal separator is “,” (comma),
I’ve been in the IT industry over 30 years and never seen a comma being used for the decimal separator, not the shops nor the banks, and even a very large government agency use the “.” dot as the separator.
IMO the so called official standard needs to be changed, but that certainly is not going to change in a long time,
So as they say about standards “The beauty of standards is that there are so many to choose from”
I have adjusted my linux en_ZA.utf8 locale to match what i would like,
thousands separator a space
currency symbol is a R
numeric separator (LC_NUMERIC decimal_point) is a “.” a dot
LC_MONETARY
currency_symbol is R
mon_decimal_point is “.” a dot
mon_thousands_sep is " " (a space)

Now when use librecalc for some reason it ignores all of this and uses it’s own settings,
My question is how do i get librecalc to use the system locale like i set. (I have tried to change the options on the languages and locales but I just dont get it correctly.
essentially i need to override the comma decimal separator and use a dot .
As more people move over to libre this is going to become a larger issue, already a few South Africans people have complained about this… please dont tell me to contact the authorities as that will never happen.

Which locale do you have chosen in Tools > Options > Languages and Locales?

Currently i have it set as follow, it’s the closest i can get to working,
however if I enter R33.77 (Three rand 77 cents) calc takes this as a text input and not currency (number)
If I change the Locale setting to English (South Africa) then it puts the comma in as a decimal separator, completely ignoring my linux systems default locale as i customized.

User interface: English (South Africa)
Locale setting: English (USA)
Default currency” ZAR R English (South Africa)
Decimal key on the numpad (checked) same as locale setting (.)
Date acceptance patterns: Y-M-D;Y/M/D;M-D;M/D
Default Languages for Documents English (South Africa)

The locale setting determines how text (i.e. user input into a Calc cell) is interpreted, so it can be converted into numeric values.
With locale English(USA), 1/2/2025 enters 2nd of January and numbers with a leading $ will be interpreted as currency entry.

Locale settings of the en-ZA in LibreOffice:

Locale Language Country Decimal Date Time 1000 List Default Date Time
en-ZA English South Africa . / : , ; 25-10-31 20:01

With English (South Africa) as locale, your point decimals are interpreted correctly as decimals. Comma is interpreted as thousands separator.

It is text, because you have entered the unit. To get numbers, you need to enter the value without any unit. Getting the unit R has to be done by the number format. Thus enter 33.77, go to Format > Cell… > Numbers, select category Currency and then the format you want to be displayed.

You should use the local English (South Africa) because the locale not only determines the decimal separator but calendar, date and time formats and sorting rules as well.

1 Like

Thats not what I want, and not what happens,
if i choose south africa I want R as the currency symbol, short space as the thousands separator and a dot for the decimal and the currency separator,
Libre Office either needs to take the settings from the operating system or it needs us to be able to customise the settings how we wish

Wow that’s really not a solution at all!
Choosing that option doesnt give me what we on the ground are using,

In short, i want to choose South Africa Locale, and just change the decimal separator from a command to a dot, how do i do that?
What file is it defined in? i’ll hex edit the file if needed

not sure where you got that table from, it’s not how it is when you select south africa

Make sure that you have LibreOffice version 24.8 or later. Set in Tools > Options > Languages and Locales > General the following settings:

  • In Locale setting enter English (South Africa)
  • Under Default Languages for Documents in Western, enter English (South Africa)
    OK

Open a new Calc sheet and in cell A1 enter R123.5, press Enter and it will display
R 123.50.

I’ll upgrade the libre office and get back to you, but while i do,
Why does Libre Office NOT use what the operating system is set to ? to me that’s a BUG

You may wish to review tdf#159829 where the change to current LibreOffice locale values was implemented.

Have you reported a bug, How to Report Bugs in LibreOffice - The Document Foundation Wiki ?

LibreOffice does set Locale for me and default language for documents to English (NZ). I change it to English (UK) for documents though as English (NZ) doesn’t feature all the bells and whistles.

AHHHHHH F&**& this is painful, now i no longer have south africa only english USA

Finally back to where i was it was a pain re-installing the ZA user interface, and now i’ve upgraded,
OK now the decimal is ok, however the thousands separator is now a comma i want that to be a space or short space…


As you can see… the thousands is now a comma, and the decimal is a dot,
They really should just simply allow us to have our own choices…not what anyone tells us how it should be

South Africa seems to be just about the only country to have three competing systems for separators, Decimal separator - Wikipedia . Your desired system isn’t included in the list

that’s the problem… allow us to use the format we want!..
as i mentioned, nobody I know uses a comma for thousands or decimal point.
banks government, insurance companies and even the shops…
just allow libre office to use the systems settings, or add an interface where we can customise what we want…
on windows it is easy, as people move from them to linux… you will see more and more of these posts…

And what you basically saying, that the decimal and thousands separator cannot be customised ?