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

Node.js Best Practices - Decimals and Big Integers #1010

Draft
wants to merge 1 commit into
base: main
Choose a base branch
from
Draft

Conversation

sjvans
Copy link
Contributor

@sjvans sjvans commented Jun 13, 2024

No description provided.

Copy link
Contributor

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Linting Errors

  • node.js/best-practices.md:374 Fenced code blocks should have a language specified
  • node.js/best-practices.md:389 Fenced code blocks should have a language specified


JSON numbers cannot reliably capture 64-bit binary format IEEE 754 values.
That is, they loose precision for numbers with more than 16 digits and/or when converting to binary, for example, for a calculation:
```
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
```
```txt
> 12345678901234567
12345678901234568
> 0.1+0.2
0.30000000000000004
```

Please add a language tag. For plain text add txt as language tag.

Inbound, the new (and default) protocol adapters accept numbers in decimal notation (`1.23`), numbers in exponential notation (`1.23e1`), as well as strings in decimal notation (`'1.23'`).
The are taken as is and __not__ normalized.
Hence, your custom code must be able to handle both numbers and strings:
```
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
```
```txt
> 1 + '1'
'11'
> Number(1) + Number('1')
2
```

Please add a language tag. For plain text add txt as language tag.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant