Bug 115078 - Automatically insert a decimal point like in Excel
Summary: Automatically insert a decimal point like in Excel
Status: NEW
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Calc (show other bugs)
Version:
(earliest affected)
Inherited From OOo
Hardware: All All
: medium enhancement
Assignee: Not Assigned
URL:
Whiteboard:
Keywords:
: 116367 130265 154157 (view as bug list)
Depends on:
Blocks: Number-Format
  Show dependency treegraph
 
Reported: 2018-01-17 22:51 UTC by Daniel Schunk
Modified: 2023-12-01 18:28 UTC (History)
11 users (show)

See Also:
Crash report or crash signature:


Attachments
Option in MSO (53.54 KB, image/png)
2023-03-15 10:58 UTC, Heiko Tietze
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Daniel Schunk 2018-01-17 22:51:52 UTC
Description:
Provide a check box in the program Settings to display a number with decimal points by default.

Actual Results:  
Feature is not avaiable.

Expected Results:
If I type 5555, I'll get 55.55 in the spreadsheet.


Reproducible: Always


User Profile Reset: No


OpenGL enabled: Yes

Additional Info:
Compare to Excel 2016: https://support.office.com/en-gb/article/Advanced-options-33244b32-fe79-4579-91a6-48b3be0377c4?NS=EXCEL&Version=16&SysLcid=1031&UiLcid=1031&AppVer=ZXL160&HelpId=191711&omkt=en-GB&ui=en-US&rs=en-GB&ad=GB


User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36 Edge/16.16299
Comment 1 Thomas Lendo 2018-01-18 21:14:02 UTC
Nice concept, thanks Daniel.

But I don't know if LibreOffice should allow such behavior. It's only useful if you insert more numbers with decimal places than without.

In Tools > Options > Calc > Calculate there is a setting "Limit decimals for general number format" to fix a maximum number of decimal places. A new setting could be introduced similar to the setting in Microsoft Excel [1] with wording "Automatically insert decimals for general number format" with an identical number combobox.

Adding needsUXEval to get some input from the design team.

[1] https://fud.community.services.support.microsoft.com/Fud/FileDownloadHandler.ashx?fid=bfc35f10-67a2-4e7e-82a4-7847bf3092b6
Comment 2 V Stuart Foote 2018-01-18 22:12:43 UTC
Not a display setting, that would make no sense.

Rather, this would have to be an auto-format/auto-correct action. That is--as an aid to doing the _integer_ data entry; and to override "normal" numeric input.

Would expect that once entered, and a decimal place assigned, the number _must_ be handled as a numeric value and to take the number formatting otherwise applied to the cells.

Also, assume the auto-format/auto-correction would be activated against a selected column/row. But alternatively toggled globally to parse _any_ integer numeric data input.

And, what would happen if while the input mode is set against a cell (by row/column), one enters a floating point number with decimal? Assume it would revert to normal numeric input handling.

Finally, would the decimal auto-format/auto-correct position be applied counting from the start or from the end of input--or should that be settable.

Again this would be a data input formatting function--like using a "'" to set numeric input to be text.

In that context could see some utility.
Comment 3 Heiko Tietze 2018-01-19 13:41:53 UTC
Would be a dangerous setting for most users and useful for only a few (who are too lazy to press one key). Some corner-cases needs to be taken into consideration making the feature complex. I vote for WONTFIX. It's better realized via macro or per input sheet that is linked to another sheet showing the values of the first divided by 100.
Comment 4 Cor Nouws 2018-01-20 15:36:05 UTC
I vote neutral - if that is allowed :p
Comment 5 Daniel Schunk 2018-01-20 18:07:21 UTC
(In reply to Heiko Tietze from comment #3)
> Would be a dangerous setting for most users and useful for only a few (who
> are too lazy to press one key). Some corner-cases needs to be taken into
> consideration making the feature complex. I vote for WONTFIX. It's better
> realized via macro or per input sheet that is linked to another sheet
> showing the values of the first divided by 100.

Hello, Heiko,

In my opinion, there's an error of thought. What, if you divide 1 by 100?

The described way to input numbers is very useful for accountants and tax advisors.
Comment 6 Heiko Tietze 2018-01-20 21:33:28 UTC
(In reply to Daniel Schunk from comment #5)
> In my opinion, there's an error of thought. What, if you divide 1 by 100?

Excel shows 0.01 when you enter 1.
Comment 7 Daniel Schunk 2018-01-21 11:10:24 UTC
(In reply to Heiko Tietze from comment #6)

> Excel shows 0.01 when you enter 1.

Absolutely! But 0.01 ≠ 1.00

I would have expected this result: 1.00
Comment 8 Heiko Tietze 2018-01-21 13:44:07 UTC
(In reply to Daniel Schunk from comment #7)
> I would have expected this result: 1.00

If you only want to show the decimal points you have to format the cell as currency. There is a currency symbol in the toolbar or apply it per Format > Cells... > Numbers = Currency or per shortcut shift+ctrl+4. If you don't want to see the currency sign format as number (shift+ctrl+1).

In your initial post you wrote
(In reply to Daniel Schunk from comment #0)
> If I type 5555, I'll get 55.55 in the spreadsheet.
And this is the same as 5555/100.
Comment 9 V Stuart Foote 2018-01-21 16:26:04 UTC
Excel has had this data _input_ aid since Office 2000.

It is a specialized numeric formatting conversion feature to convert integer constant _input_ to floating point positionally. Setting a positive shift moves the resulting decimal place left (numbers gets smaller), a negative moves the decimal place right (numbers get larger).

Scale of resulting number is not fixed, but depends on the amount of the shift set for the option (a range of 300 to -300) but also the length, in digits, of the integer value entered.

So, with a shift value of 2: 
input => becomes
1 => 0.01 
12 => 0.12
123 => 1.23
1234 => 12.34

and with a shift value of -2:

1 => 100
12 => 1200
123 => 12300
1234 => 123400

Again this is an aid for specialized numeric input. Handy for inputting a long list of numbers via keypad, but does not affect numbers already present on the sheet. 

Certainly not a core requirement, but probably worth implementing for those that would use this feature.  But that sounds more like an Extension to me.
Comment 10 Buovjaga 2018-03-14 15:46:43 UTC
*** Bug 116367 has been marked as a duplicate of this bug. ***
Comment 12 Xavier Van Wijmeersch 2018-03-15 15:30:25 UTC
I agree with comment3, i vote for a no fix
Comment 13 Heiko Tietze 2018-03-17 16:54:01 UTC
"Handy" for some, neutral, at least two clear no, and some workarounds - WFM.

Thanks for creating the ticket anyway. It's always good to ponder on ideas.
Comment 14 Heiko Tietze 2020-02-19 14:13:56 UTC
*** Bug 130265 has been marked as a duplicate of this bug. ***
Comment 15 cknapp 2020-02-19 19:56:22 UTC
Surely Microsoft has some reason to maintain this feature for 20 years? If only a few excel users find this feature useful, surely that would justify MS removing this feature from excel? 

Yes it's 1 keystroke that you're removing. But that adds up over time. I come from a Mechanical Engineering background and CAD softwares advertise fewer mouseclicks as a selling point, because when you are clicking all day for days, weeks, months, it DOES add up. Improved efficiency is always value added for the customer in my opinion. 

I know I'm beating a dead horse now but let's say a user enters on average, 10 values a minute for 8 hours everyday, 5 days a week, 52 weeks a year. Each value requires one decimal point. Time to press that key might be 0.5 seconds. That still adds up to 173 hours a year. Even if you figure that's an overestimate, and cut it in half, that's 86 hours a year spent performing an action that could be automated. Figure that person earns $15 an hour, that action costs the employer $1300 a year per employee that is performing this type of job. 

Obviously any of you could figure that out but the comment regarding "it's just one key" is silly. So is adding values with the + key, yet we have an autosum function. 


I can't code unfortunately, but I'm willing to help in any other way that I can. Thanks
Comment 16 Heiko Tietze 2020-02-20 11:39:35 UTC
(In reply to cknapp from comment #15)
> I can't code unfortunately, but I'm willing to help in any other way that I
> can. Thanks

You can realize this as an extension. We have a macro team that surely can help you https://blog.documentfoundation.org/blog/2019/09/06/libreoffice-has-a-new-macro-team/
Comment 17 Heiko Tietze 2020-02-20 12:50:12 UTC
(In reply to cknapp from bug 1300265 comment #8)
> I see this has been ignored. ... I'm ... just disappointed that a feature 
> request ... is being discarded simply because the designers don't
> think "enough" people will use the feature.

Feel free to reopen the ticket if you cannot follow the arguments. We are a community project and all contributions are welcome.
Comment 18 cknapp 2020-02-20 13:00:55 UTC
(In reply to Heiko Tietze from comment #17)
> Feel free to reopen the ticket if you cannot follow the arguments. We are a
> community project and all contributions are welcome.

That's okay. It's clear that this feature that excel has isn't worth the time to even put on the project list, even at the very bottom. So I will just make do for now until Microsoft inevitably creates a snap of excel for linux and I'll just use that again. Hopefully these grear community projects will be able to compete without having very old established features that excel users have come to rely upon.
Comment 19 cknapp 2020-02-20 13:49:30 UTC
Is there a bounty program here for features? I'd throw $50 at the project if this can at least get put on the list to be added in the next year or two.
Comment 20 Cor Nouws 2020-02-23 21:07:40 UTC
(In reply to cknapp from comment #19)
> Is there a bounty program here for features? I'd throw $50 at the project if
Thanks for this positive gesture!

> this can at least get put on the list to be added in the next year or two.
There is not yet a bounty program, but possibly it will be there somewhere in this year?
Comment 21 Daniel Schunk 2020-02-24 20:26:21 UTC
(In reply to cknapp from comment #15)
...
> Yes it's 1 keystroke that you're removing. But that adds up over time. I
> come from a Mechanical Engineering background and CAD softwares advertise
> fewer mouseclicks as a selling point, because when you are clicking all day
> for days, weeks, months, it DOES add up. Improved efficiency is always value
> added for the customer in my opinion. 
...

I agree with you. The function is also useful for tax consultants, for example, who have to enter many values.
Comment 22 Bob McCay 2021-05-31 19:06:59 UTC
From looking at the various comments, it looks like nobody really understands the importance of this feature to accountants, bookkeepers, and tax professionals.  All of us learn to use ten-key by touch as a basic, required skill in our profession, and ten-key is based on this feature. We use spreadsheets every day, and we must enter long columns of two-decimal figures without looking at the keyboard.  We are adapted and trained to do this by ten-key training because it saves a great deal of time and prevents many errors. Once this training is ingrained it is extremely frustrating to try to do data entry without it.  We NEVER use the decimal key in most situations. So by not making this change you are severely limiting Libre Calc's usefulness for serious accounting, bookkeeping, and tax professionals, and there are a lot of us. I'd love to get away from Microsoft, but the lack of this feature keeps me away from Libre, which is too bad because the concept and execution is otherwise so satisfactory.
Comment 23 Heiko Tietze 2023-03-15 10:49:17 UTC
*** Bug 154157 has been marked as a duplicate of this bug. ***
Comment 24 Heiko Tietze 2023-03-15 10:58:00 UTC
Created attachment 185973 [details]
Option in MSO

Seems to be a frequently requested option, so let's reopen.

While MSO provides this feature as a general option I wonder if it was better located at the cell style. Doing so makes it possible to have normal input and dedicated templates or a cell style / numbering format attribute for the accountant task. However, the attributes are usually stored in the document and without standardization we cannot do that.
Comment 25 Heiko Tietze 2023-03-15 11:02:34 UTC
Regarding the workflow we could follow the MSO example:
1234    => 12,34 (of decimal is set to 2)
1       => 0,01
=A1+1   => 1,01 (with A1 == 0,01)
=1234   => 1234
="1234" => <text>
Comment 26 Eike Rathke 2023-03-16 10:18:05 UTC
Number formats are _display_ attributes, not input masks.
If you want to come up with per cell granularity of input mask/behaviour then introduce a new attribute.
Comment 27 Terrence Enger 2023-07-14 17:35:57 UTC
(In reply to Heiko Tietze from comment #3)
> Would be a dangerous setting for most users and useful for only a few (who
> are too lazy to press one key).

And others have calculated the time used to type the decimal point.

For some of us, the burden is not the time or effort of actually
typing the decimal point.  The hard part is the concentration required
to inhibit a decades-old habit.  For me, that habit dates back to the
days of punched cards.  (Yes, my beard *is* a fine shade of white,
thankyouverymuch.  How did you guess?)

That said, I am not a big user of Calc, so my approval of this
proposal should count as some small fraction of one vote.

Terry.
Comment 28 Mike Kaganski 2023-12-01 18:28:03 UTC
(In reply to Heiko Tietze from comment #24)
> ... I wonder if it was
> better located at the cell style. Doing so makes it possible to have normal
> input and dedicated templates or a cell style / numbering format attribute
> for the accountant task. However, the attributes are usually stored in the
> document and without standardization we cannot do that.

No.

This asked feature is completely about a specific person's habits. it is intended to reduce load by utilizing muscle memory, and not requiring to concentrate on some detail that gets done automatically.

As such:
1. It is *NOT* imposed on other potential users of the document. Other users are free to not use this feature, and have all reasons so get angry, when suddenly, when *they* type '123', it automatically converts to '1.23'.
2. It is *NOT* expected to depend on file, or on specific column - just because that would mean that the user *has to* concentrate on details, and switch their muscle memory depending on file, column, or a specific cell.

It is definitely a per-user-profile setting, orthogonal to any "mask-like" possible features.

A possible code pointer to implement this feature would be ScInputHandler::EnterHandler (sc/source/ui/app/inputhdl.cxx), which (or the functions called from it) would check that the input text has only numbers and plus/minus (but no decimal / group separators; no formulas, percents, etc.), and the resulting data is numeric; then it would multiply the end result by respective 10^n. At least that would be the function, where I would start my research - which events happen when I finished entering the data.