-
Notifications
You must be signed in to change notification settings - Fork 32
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
bug(Field.Currency): strange behaviour when entering big/large numbers #3124
Comments
Javascript float integer are only precise up to 15 digits, after that they will start rounding. There's BigInt to fix it, but perhaps we should also consider storing it as a string? |
9007199254740991 is Number.MAX_SAFE_INTEGER. Any higher, and it loses precision. Even google's Material UI (https://mui.com/base-ui/react-number-input/) limit their number input to that. So I think that's what we should do as well. |
## [10.17.0](v10.16.0...v10.17.0) (2024-01-11) ### 📝 Documentation * refactor custom field component docs and example ([#3193](#3193)) ([3871079](3871079)) ### ✨ Features * **Anchor:** blank target icon styling ([#3172](#3172)) ([2ca216a](2ca216a)) * **DatePicker:** add onFocus event ([#3188](#3188)) ([2062213](2062213)) * **Field.Number:** add step control functionality ([#3140](#3140)) ([a9e1697](a9e1697)) * **Form.Visibility:** add `pathValue` and `whenValue` ([#3206](#3206)) ([8a547ae](8a547ae)) ### 🐛 Bug Fixes * **Autocomplete:** only set aria-controls attribute when expanded ([#3180](#3180)) ([a16a7ba](a16a7ba)) * **DatePicker:** add return object for onBlur ([#3178](#3178)) ([18b3889](18b3889)) * **DatePicker:** fix bug where minDate set to today is disabled ([#3176](#3176)) ([ef65676](ef65676)) * **Dropdown:** correct aria-controls target element ([#3181](#3181)) ([bc26101](bc26101)) * **Field.Currency:** handle big numbers ([#3184](#3184)) ([b856a46](b856a46)), closes [#3124](#3124) [#3185](#3185) * **Field.Number:** replace `rightAligned` prop with `align` ([#3175](#3175)) ([ba130ba](ba130ba)) * **FieldBlock:** ensure extra spacing of labels when on small screens ([#3187](#3187)) ([c86c857](c86c857)), closes [#3102](#3102) * **FieldBlock:** label can be clicked after focusing input ([#3190](#3190)) ([95b37e7](95b37e7)), closes [#2979](#2979) * **Flex.Container:** add `Flex.withChildren` HOC for handling wrapped children with spacing ([#3200](#3200)) ([93df77c](93df77c)) * **Flex.Container:** show line divider even when heading is present ([#3198](#3198)) ([d135b47](d135b47)) * **Form.Visibility:** move Visibility to Form.Visibility ([#3205](#3205)) ([d3b766f](d3b766f)) * **InputMasked:** correct cursor position when navigating using keyboard ([#3160](#3160)) ([9143b38](9143b38)) * **InputMasked:** extend reliability on cursor position correction ([#3194](#3194)) ([cbc27ac](cbc27ac)), closes [#3160](#3160) * **MultiInputMask:** enhance handling of right, left and backspace key usage ([#3192](#3192)) ([f3ce934](f3ce934)) * **PhoneNumber:** show read outline on both fields in error state ([#3196](#3196)) ([16ed821](16ed821)) * **Textarea:** ensure correct height based on rows for Firefox browser ([#3207](#3207)) ([75f754e](75f754e)) * **Visibility:** add support for being used in Flex.Container ([#3203](#3203)) ([7a72fa6](7a72fa6))
🎉 This issue has been resolved in version 10.17.0 🎉 The release is available on: Your semantic-release bot 📦🚀 |
🐛 Bug Report
When entering values in the number field, it suddenly changes values.
All I do is entering the value
8
, many times.Video:
Screen.Recording.2023-12-20.at.11.06.45.mov
To Reproduce
Steps to reproduce the behavior:
Go to the following example in our docs:
8
many many times8
for the 17th time(input changes from88888888888888888
to88888888888888900
) and 22th time pressing 8(input changes to8,888888888888
and onChange returns8.88888888888889e+21
).Expected behavior
I expect it to behave as a regular input field, see the following CSB, and video(left is input type
string
and right is input typenumber
):Screen.Recording.2023-12-20.at.10.44.33.mov
The text was updated successfully, but these errors were encountered: