Issue 45312

Summary: Custom decimal separator ignored
Product: Calc Reporter: hlschorsch <georg.hoermann>
Component: configurationAssignee: requirements <requirements>
Status: CLOSED DUPLICATE QA Contact: issues@sc <issues>
Severity: Trivial    
Priority: P3 CC: issues, kpalagin, openoffice, stp
Version: OOo 2.0 BetaKeywords: oooqa
Target Milestone: ---   
Hardware: PC   
OS: Windows XP   
Issue Type: ENHANCEMENT Latest Confirmation in: ---
Developer Difficulty: ---

Description hlschorsch 2005-03-17 15:36:54 UTC
Hello world,

it is impossible for me to find a bug in the bug tracker 8-(. 
The issue: I use german version of XP prof with "Germany" as my region, 
I have changed the german decimal sign ("," comma) manually to "." (dot/point). 
OO Spreadsheet ignores my own version and takes the "," as a
decimal separator. OO should alse take the custom values from
Windows.

Gruss Georg
Comment 1 stp 2005-03-21 14:50:08 UTC
Please give an example.

Could it be related to issue 38494 or issue 39898 ?

Søren
Comment 2 hlschorsch 2005-03-24 09:29:50 UTC
I have a default German region and I changed the deciomal character from "," to
".". If I enter "0.765765765" oocalc create a TEXt-Field - it should be a
number. Maybe its related to the other decimal-character problems.
Gruss GEorg
Comment 3 Matthias Basler 2005-04-06 22:29:21 UTC
Confirmed on German WinXP_SP2 with (English) OOo1.9.87.

"Solution":
Go to OOo's options->language settings->languages
There's a checkbox "Same as locale setting".
Confirm that this is on. Then select (above it) the Locale "English (US)" or
some other English one and adjust the currency if desired.
Now input of English numbers works for me.

However...
If I believe the help, than unchecking the "Same as locale setting" should use
the operating system's locale settings as "hlschorsch" would like to have it.
This doesn't work for me.
I unchecked that box, then set the number format to 1'000'000,0 in the Windows
system settings (still German locale there).
Entering 12,34 still gives 12,32 and 12.34 gives 01.12.34 (a date) and 0.7654
is treated as text, even after a restart of OOo.
However if I set the Locale (in OOo, as described above) to "English (US)" then
I can work with English settings, no matter what the "Same as locale setting"
checkbox says.

I have the strong impression this checkbox doesn't do anything. Or maybe it just
reads the Operating systems Locale, but not changes done to it (e.g. custom 
decimal separators).

P.S. To hlschorsch: Why cannot you find anything in the bug tracker?
Comment 4 frank 2005-04-11 09:08:10 UTC
requirements

IMHO the solution given by matthias is the best we can offer. 

Frank
Comment 5 kyiannis 2005-05-05 10:21:29 UTC
There is a slight problem with the solution provided by mathias. When the locale
is set to English(US) the date format is Month/Day/Year, which is unacceptable
for German, Greek e.t.c. locales. (It should be Day/Month/Year). When i enter a
date (e.g. 31/12/2005), it is converted to text.
Is there a locale setting with (.) as decimal separator, and Day/Month/Year as
date format?
Comment 6 lohmaier 2005-05-05 13:50:45 UTC
This is probably a wontfiy.

The solution is the following:

Don't reconfigure your keyboard. It is exaclty the setting in the options that
takes care of what OOo will make of the /input/ from the keyboard.

If you want another /display/ of your input, you have to set a corresponding
cell-format.

So if you type "0.765765765" (the "." being the one on the numpad) OOo will
recognize it as a decimal number when you did check the option [x] same as
locale setting - no matter what locale you did set up)
If you did not check the option, OOo will use whatever character your keyboard
is configured to. If the character matches the decimal-seperator, OOo will
recognize it as a decimal number, if it doesn't match, the input will be treated
as text.

To sum-it up:
You have to differntiate between input of the characters and display of the result.

If you want your decimal numbers to be displayed with a dot as decimal
seperator, format them with a format that uses the dot as decimal seperator.

If you want to enter your numbers with a dot as seperator there are two
possibilities:
 * use the numpad - then it doesn't matter what it is configured to - when you
have the option checked, it will always be recognized as decimal number.
Format your cells with an appropriate format that used dot as decimal seperator
 * you want to enter a "real" dot (like the one on the regular keyboard-area).
Then you have to switch to a reginal setting that uses the dot as seperator to
input your characters.
When you switch back to the original reginal settings, all the cells with
standard formatting will use the seperator defined in the regional settings. So
you'll still have to format your cells with the desired display format for those
who differ from the defaults. It depends on your habits whether you only switch
to the other regional settings to input your data and then switch back, or to
keep the other reginal setting.
Comment 7 hlschorsch 2005-05-08 09:13:30 UTC
Hello world,
to clarify things a little bit: the problem is not how to enter a valid number
in OO. The problem is that OO adds text and numbers and does not produce an
error. With this behaviour you can *never* be shure that the results are correct,
especially if you have large data sets where you can not control every line.

Gruss Georg


Comment 8 jallowas 2007-11-08 13:49:20 UTC
Hello,
Cloph said 
"So if you type "0.765765765" (the "." being the one on the numpad) OOo will
recognize it as a decimal number when you did check the option [x] same as
locale setting - no matter what locale you did set up)"
I'm afraid this is not true completely. Indeed it would have seemed a solution
for german, and french (like me) users to check the box to ensure no error text
is typed in by mistake (which is georg's concern) because of the number pad
being misinterpreted and then change the cell number format for appearance.
But if you do change the cell format to a dot (wether selecting another language
or by creating a personalised format), and type in a new decial number CALC does
NOT recognize it as a number.
Now if you choose to uncheck the [] same as locale setting box you are happy
that all your decimal numnbers entered are consdiered as number even if entered
with the dot.
BUT theproblem is when you change to WRITE and use the 'numberpad dot' you now
get a comma instead of a dot when you enter a text.

I propose a distinction be made between CALC and WRITE for the number pad 'dot'
behaviour.
Comment 9 kpalagin 2009-03-06 15:56:13 UTC
Looks like dup of http://qa.openoffice.org/issues/show_bug.cgi?id=51662.
Comment 10 cno 2009-11-17 09:07:10 UTC
Close as dup.
51662 has more votes/info, therefore closing this older one

*** This issue has been marked as a duplicate of 51662 ***
Comment 11 cno 2009-11-17 09:09:36 UTC
and close