vue-i18n
vue-i18n copied to clipboard
Number Formatting: support BigInt and String in additional to Number
Clear and concise description of the problem
Intl.NumberFormat supports Number, BigInt, and String as a number parameter.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat/format
A Number, BigInt, or string, to format. Strings are parsed in the same way as in number conversion, except that format() will use the exact value that the string represents, avoiding loss of precision during implicitly conversion to a number.
Currently only number is supported in vue-i18n library: https://github.com/intlify/vue-i18n-next/blob/fa612d336e603cce237491eca092a7e856e4cb6c/packages/vue-i18n-core/src/components/NumberFormat.ts#L44-L47
Suggested solution
$n method should support the same types of parameter as underlying Intl.NumberFormat.prototype.format() method.
Alternative
No response
Additional context
BigIntparameter is useful for numbers exceed MAX_SAFE_INT numbersStringparameter is useful for number with many decimals places.
Validations
- [X] Read the Contributing Guidelines
- [X] Read the Documentation
- [X] Check that there isn't already an issue that request the same feature to avoid creating a duplicate.