This is a bit of a broad question. Backgound: we have a multi lingual app (English and Dutch as a translated app) and want to keep the decimal point in numbers even when Dutch is chosen. Normally it would change to a comma, but since we are located in the Americas, everybody is used to a decimal point.
Now the solution you find everywhere should be this Initialization PL/SQL Code:
execute immediate q'[alter session set nls_numeric_characters = '.,']';
We are currently on APEX 20.2, and in this version a page won't even render. I get "character to number conversion error":
ora_sqlerrm: ORA-06502: PL/SQL: numerieke fout of fout in waarde : fout in conversie van teken naar getal.. ORA-06512: in "APEX_200200.WWV_FLOW_DISP_PAGE_PLUGS",
So I tried it on apex.oracle.com. I get the same error on the translated app.
It looks like APEX ignores this setting and uses the language to determine the separators:
...NLS: date_format=DS timestamp_format=DS timestamp_tz_format=DS decimal separator=",", group separator="."
I wonder if anybody got this to work at all?