Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Option to make exponent divisible by 3 (for metric units reading) #1304

Open
uhliksk opened this issue Jul 8, 2020 · 10 comments · May be fixed by #2028
Open

Option to make exponent divisible by 3 (for metric units reading) #1304

uhliksk opened this issue Jul 8, 2020 · 10 comments · May be fixed by #2028

Comments

@uhliksk
Copy link

uhliksk commented Jul 8, 2020

Problem Statement
When working with metric units it's usefull to see scientific notation with exponent divisible by 3. Number 3,3898e-4 is not as clear as 338.98e-6 is clearly 338.98µ units.

Evidence or User Insights
You can try "1/2950=" in standard or scientific mode to see result. It was discussed in #226 also.

Proposal
For calculations in metric units it's better to see results in format similar to T, G, M, k, m, µ, n, etc. units.

Goals
User should be able to set exponent divider to make scientific notation easily readable. Default value should by 1 to preserve actual state with ability to enable predefined value 3 (or even other value) to read metric results more easily.

Non-Goals
It's not meant to make any kind of units conversion.

Low-Fidelity Concept
If exp>0 then exp=int(exp/div)*div
if exp<0 then exp=int((exp-div+1)/div)*div

Requested Assignment
If possible, I would like to implement this.

@ghost ghost added this to Pitch in Feature Tracking Jul 8, 2020
@MicrosoftIssueBot
Copy link
Collaborator

This is your friendly Microsoft Issue Bot. I've seen this issue come in and have gone to tell a human about it.

@ghost
Copy link

ghost commented Jul 10, 2020

This pitch looks like it has everything it needs for review. In the meantime, we'll keep this idea open for discussion so the community has the chance to provide feedback. Check out our New Feedback Process for more info on the user-centered process we follow for new feature development.

@ghost ghost moved this from Pitch to Pitch (Needs Review) in Feature Tracking Jul 10, 2020
@SaprativRay
Copy link

Instead of calling it "metric units reading", I think the preferred term for numbers in scientific notation with exponents divisible by 3 is 'engineering notation'. I believe an ENG/SCI toggle button is the most appropriate user interface integration for this feature.

@uhliksk
Copy link
Author

uhliksk commented Jul 13, 2020

Instead of calling it "metric units reading", I think the preferred term for numbers in scientific notation with exponents divisible by 3 is 'engineering notation'. I believe an ENG/SCI toggle button is the most appropriate user interface integration for this feature.

Engineering units are also feets, pounds, etc. which are not using metric system. Better to use MET/SCI toggle.

@ghost ghost moved this from Pitch (Needs Review) to Planning in Feature Tracking Jul 20, 2020
@ghost ghost removed the needs pitch review label Jul 20, 2020
@ghost
Copy link

ghost commented Jul 20, 2020

We reviewed the pitch and would love to explore this idea further! The pitch is a great start, but there are still some open questions. I am moving this issue into planning to iron out some of those details and I created calculator-specs/TBD to track progress. A human will follow up with some feedback on your pitch shortly. Keep in mind that not all ideas that make it into the planning phase are guaranteed to make it to release. For more information on next steps, check out our spec workflow.

@grochocki
Copy link
Contributor

Thanks for the idea! It should be pretty straightforward to expose this in Scientific mode, but a couple details to figure out. Some comments:

  • Regarding naming, we believe we should move forward with engineering notation.

  • We believe the best approach might be updating this display mode UI to be clearer about switching between display modes: automatic (AUTO, default), scientific notation (SCI), and engineering notation (ENG), but are open to other suggestions.

    image

    Perhaps we could leverage the pattern we have in Programmer Mode to cycle between modes:

    vM6yxGnBVJ

  • This change may make it easier to address Automatic scientific notation can't be disabled #226 (if we go with the approach above, and can introduce a 4th display mode that turns off auto).

@MovGP0
Copy link

MovGP0 commented Aug 13, 2020

It's called Engineering Notation and often abbreviated ENG mode on calculators.

Usually there is the option between standard notation (showing integer values for lower values), scientific notation (one digit before the comma) and engineering notation (up to three digits before the comma). Here is an example from the HP Prime calculator:

image

@ghost
Copy link

ghost commented Aug 29, 2020

Engineering Notation from Wikipedia:

Engineering notation (often named "ENG" display mode on scientific calculators) differs from normalized scientific notation in that the exponent n is restricted to multiples of 3. Consequently, the absolute value of m is in the range 1 ≤ |m| < 1000, rather than 1 ≤ |m| < 10. Though similar in concept, engineering notation is rarely called scientific notation. Engineering notation allows the numbers to explicitly match their corresponding SI prefixes, which facilitates reading and oral communication. For example, 12.5×10−9 m can be read as "twelve-point-five nanometres" and written as 12.5 nm, while its scientific notation equivalent 1.25×10−8 m would likely be read out as "one-point-two-five times ten-to-the-negative-eight metres".

@tuxwurst
Copy link

Exactly what i am lookng for! Even better if the user could input Engineering Notation with alphanumerics as well. Just like: 1k, 5.3M, 2u5

@Goofyeet
Copy link

I implemented engineering notation using the advice @grochocki gave. It could be extended to add an 'OFF' option to address #226 as well.

Would I be able to make a pull request for my implementation to be reviewed and merged?

2023-06-26.09-07-27.mp4

@Goofyeet Goofyeet linked a pull request Jul 12, 2023 that will close this issue
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Development

Successfully merging a pull request may close this issue.

7 participants