Allow decimals to be used as hints for converting to floats#20
Open
builtbybrayne wants to merge 3 commits intosidorares:masterfrom
Open
Allow decimals to be used as hints for converting to floats#20builtbybrayne wants to merge 3 commits intosidorares:masterfrom
builtbybrayne wants to merge 3 commits intosidorares:masterfrom
Conversation
Owner
|
the PR looks ok, but I'm a bit worried about growing nimber of options like yours. Maybe we should move to much simple api, for example |
|
@sidorares why not merge this PR ? |
|
This bug with parsing very long decimal numbers is making the package unusable for people who want to stick to the built-in number/bigint instead of using bignumber package. :/ |
|
@sidorares any chance this can be merged and a new minor released? |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Two new options for strategies for converting to floats.
The problem I had was that a number like '1.234567890123456789' is longer than 15 characters and therefore was being converted to a BigNumber. In my case, I definitely want this left as a float and don't care about the loss of precision.
To this end I created 2 options for parsing numbers as floats:
options.floatHintsandoptions.strictFloatHints. Both are documented in the updated readme. But long story short; the strict version always treats the presence of a decimal as an instruction to parse the number as a float. The loose version will only parse the number as a float if the mantissa is non-zero. If it is zeroable, then it is stripped, with the integer part then subject to the same logic that existed previously.Tested.