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

Engineering notation without zeros #1813

Closed
proximous opened this issue Apr 9, 2020 · 4 comments
Closed

Engineering notation without zeros #1813

proximous opened this issue Apr 9, 2020 · 4 comments
Labels

Comments

@proximous
Copy link

I'm trying to understand the difference between precision and fixed and if either can help me.

I need to display numbers where I don't know the underlying precision, so I'm just looking to display them in Engineering notation with the least zeros possible. For example:

123456780.0 -> 123.45678e6
452550000.0 -> 452.55e6
600000000.0 -> 600.0e6
9000000000.0 -> 9.0e9

Is this possible with the format command? I can't seem to find a single format command that would work for all of these cases.

@josdejong
Copy link
Owner

Thanks for bringing this up @proximous. I tried it out with your values and discovered there is a bug in format:

math.format([123456780, 45255e4, 600000000, 9000000000], {notation: 'engineering'})
// output is: [123.456780e+6, 452.550000e+6, 600e+6, 9e+9]
// should be: [123.45678e+6,  452.55e+6,     600e+6, 9e+9]  (no needless trailing zeros)

This is a bug in the number implementation of math.format, it works correctly for BigNumber:

math.format(math.bignumber([123456780, 45255e4, 600000000, 9000000000]), {notation: 'engineering'})
// output: [123.45678e+6, 452.55e+6, 600e+6, 9e+9]

The only difference with the outputs you want is no needless trailing .0. What is the reason you would like to have these trailing .0 in foor example 9.0e9? (It's in some programming languages a way to denote a floating point value instead of an integer number, but it has no mathematical meaning this way unless you would really see it as a significant digit).

@josdejong josdejong added the bug label Apr 11, 2020
@josdejong josdejong reopened this Apr 11, 2020
@josdejong
Copy link
Owner

@proximous the issue with trailing zeros is resolved in [email protected]

@proximous
Copy link
Author

Downloaded version 6.3.3 and it works great! Thanks! I don't need the trailing .0. That just the floating point format I'm used to seeing, but your library works great for me with this fix!

@josdejong
Copy link
Owner

Great to hear 👍

josdejong added a commit that referenced this issue May 6, 2020
* Update devDependencies

* Fixed `eigs` not using `config.epsilon` (see #1789)

* Should be able to take NAMED_DELIMITER as object keys (#1798)

Co-authored-by: Jos de Jong <[email protected]>

* Update history

* Clarify the documentation on `scope` when using `rawArgs`, see #1055

* Bump @babel/preset-env from 7.9.0 to 7.9.5 (#1810)

Bumps [@babel/preset-env](https://github.com/babel/babel) from 7.9.0 to 7.9.5.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/master/CHANGELOG.md)
- [Commits](babel/babel@v7.9.0...v7.9.5)

Signed-off-by: dependabot-preview[bot] <[email protected]>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>

* Prefix the cli test with 'node' so it works on windows (#1807)

* Prefix the cli test with 'node' so it works on windows

Shouldnt provide any issues for other systems I hope

* Revert "Prefix the cli test with 'node' so it works on windows"

This reverts commit 4cd2704.

* Revert "Revert "Prefix the cli test with 'node' so it works on windows""

This reverts commit 268b594.

Co-authored-by: Jos de Jong <[email protected]>

* Fix #1808: `toNumber()` not working on a unitless unit (#1811)

* Update history

* Fix #1813: bug in engineering notation for numbers of function `format`, sometimes resulting in needless trailing zeros

* Improve explanation of engineering notation in function format

* Publish v6.6.3

* Bump uglify-js from 3.8.1 to 3.9.0 (#1816)

Bumps [uglify-js](https://github.com/mishoo/UglifyJS2) from 3.8.1 to 3.9.0.
- [Release notes](https://github.com/mishoo/UglifyJS2/releases)
- [Commits](mishoo/UglifyJS@v3.8.1...v3.9.0)

Signed-off-by: dependabot-preview[bot] <[email protected]>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>

* Publish v6.6.4

* Bump uglify-js from 3.9.0 to 3.9.1 (#1818)

Bumps [uglify-js](https://github.com/mishoo/UglifyJS2) from 3.9.0 to 3.9.1.
- [Release notes](https://github.com/mishoo/UglifyJS2/releases)
- [Commits](mishoo/UglifyJS@v3.9.0...v3.9.1)

Signed-off-by: dependabot-preview[bot] <[email protected]>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>

* Bump karma from 4.4.1 to 5.0.3 (#1830)

Bumps [karma](https://github.com/karma-runner/karma) from 4.4.1 to 5.0.3.
- [Release notes](https://github.com/karma-runner/karma/releases)
- [Changelog](https://github.com/karma-runner/karma/blob/master/CHANGELOG.md)
- [Commits](karma-runner/karma@v4.4.1...v5.0.3)

Signed-off-by: dependabot-preview[bot] <[email protected]>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>

* Bump karma-mocha from 1.3.0 to 2.0.1 (#1832)

* Bump karma from 5.0.3 to 5.0.4 (#1839)

Bumps [karma](https://github.com/karma-runner/karma) from 5.0.3 to 5.0.4.
- [Release notes](https://github.com/karma-runner/karma/releases)
- [Changelog](https://github.com/karma-runner/karma/blob/master/CHANGELOG.md)
- [Commits](karma-runner/karma@v5.0.3...v5.0.4)

Signed-off-by: dependabot-preview[bot] <[email protected]>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>

* Bump mocha from 7.1.1 to 7.1.2 (#1827)

* Update devDependencies

* Fix #1834: value `Infinity` cannot be serialized and deserialized

* Fix broken bundle tests and linting issues

* Fix unit test on node 8 (yeah, I know)

* Fix #1842: value `Infinity` not turned into the latex symbol `\\infty`

* Publish v6.6.5

* Fix fixer.io example, the free plan doesn't support SSL

* Change node versions

Co-authored-by: jos <[email protected]>
Co-authored-by: Veeloxfire <[email protected]>
Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants