Version: 1.3.5 (using KDE KDE 3.3.2) Installed from: Gentoo Packages OS: Linux If my locale indicates "," as decimal separator I canot use de numerical keypad because when I press de "." it prints a period instead of a comma. In excel and openoffice the period in de numpad prints a comma or period according to the locale
mistake, seems to work now
The numerical period works correctly when entering stand alone numbers in cells, however when entering a formula the numpad, it prints a period no matter what the decimal separator is. If as in my case the decimal separator is a comma any formula typed with decimal numbers using the numpad results in a parse error since the numbers are not entered with commas as decimal separator , but with periods that kspread does not understand.
Hm, is this really an issue ? I have "," as separator in locale as well, and I don't have problems like this because the numpad types ",", not "." - of course, when I have my local keyboard layout, not english layout. So, can't you simply use your locale's kb layout, not an english one ?
I have a spanish keyboard and using es_Ar locale, so it is an issue , furthermore if i type a number in a cell kspread correctly prints a comma while if i type within a formula it prints a dot, unlike other soft (for example excel) that correctly prints a comma or period according to the locale
Hmmm... Do I understand it correctly that your keyboard types a dot, then KSpread converts it to a comma after pressing enter ? If so, then this is not about numpad period, but about the formula parser not using the correct locale settings, am I right ?
Thats pretty much the issue Kspread always prints a period on the formula bar when using numpad, after pressing enter kspread correctly changes the dot to a comma when i entered only a number, but if i have entered a formula kspread leaves the period causing an error in the cell. As a comparison Excel gets it always right, it always prints a comma if that is the decimal separator (it shows a comma from the start in the formula bar) OOCalc 1.1.4 gets it wrong always (prints a period regardless of locale setting making the numpad pretty much useless for numerical input if locale has a comma as decimal separator)
CVS commit by mecir: The new parser now supports numbers with '.' as a decimal separator, not just ones with the localized separator. That means, if your decimal separator is a comma, the new parser will recognize both 1.23 and 1,23 as numbers. IMPORTANT: I'm talking about the *new* parser here - the one, which will only be used AFTER 1.4 - hence this problem will still persist in 1.4, unless I find a way how to fix this in koscript. CCBUG: 98455 M +3 -2 formula.cc 1.20 --- koffice/kspread/formula.cc #1.19:1.20 @@ -690,6 +690,7 @@ Tokens Formula::scan( const QString& exp else if( !thousand.isEmpty() && ( ch ==thousand[0] ) ) i++; - // convert decimal separator to '.' - else if( !decimal.isEmpty() && ( ch == decimal[0] ) ) + // convert decimal separator to '.', also support '.' directly + // we always support '.' because of bug #98455 + else if(( !decimal.isEmpty() && ( ch == decimal[0] ) ) || (ch == '.')) { tokenText.append( '.' );
Renaming the bug a bit ... For the reference, old summary was: the numpad period should be localized to print "." or "," according to decimal separator of locale Strictly speaking, this might not really be considered a bug in KSpread, but more like a bug in the keyboard layout - if you have ',' as a decimal separator, then the keyboard layout should be configured to use ',' when pressing the numpad. key, not '.' . But in my opinion, this bug is still valid, as otherwise, we'd have problems with documents created with different locale - actually, we'll still have them, but that's another (and more complicated) story. ;)
OK. Kspread 1.5 is out and I can not recreate this bug with my Norwegian keyboard. (Uses "," as decimal separator.) Anyone object to marking this mug as "FIXED"? Cheers Jo
*** Bug has been marked as fixed ***.