https://github.com/yowainwright/generate-clean-number
A JavaScript utility for removing anything that is not a number (NaN) from a number #️⃣🖌
https://github.com/yowainwright/generate-clean-number
currency date intl numbers typescript
Last synced: about 2 months ago
JSON representation
A JavaScript utility for removing anything that is not a number (NaN) from a number #️⃣🖌
- Host: GitHub
- URL: https://github.com/yowainwright/generate-clean-number
- Owner: yowainwright
- License: mit
- Created: 2019-02-07T07:57:13.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2023-10-07T08:32:13.000Z (over 1 year ago)
- Last Synced: 2025-04-13T18:18:13.535Z (2 months ago)
- Topics: currency, date, intl, numbers, typescript
- Language: TypeScript
- Homepage:
- Size: 1.06 MB
- Stars: 5
- Watchers: 2
- Forks: 2
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Codeowners: CODEOWNERS
Awesome Lists containing this project
README
# Generate Clean Number #️⃣🖌
[](https://circleci.com/gh/yowainwright/generate-clean-number)
[](https://codecov.io/gh/yowainwright/generate-clean-number)A JavaScript utility for removing anything that is not a number ([NaN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/NaN)) from a number.
There are situations, particularly with [Intl](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl) where numbers are generated with extra characters in certain browsers. Generate Clear Number is a few line utility that strips characters that are not numbers from it.
----
🎉 **2.0.0:** Provides decimal support. This version should **not** cause breakage, however, because this update switches from returning [parseInt(string, 10)](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/parseInt) to [parseFloat(num)](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/parseFloat) `v2.0.0` was added for safety.
----
## Usage
Generate Clean Number provides 2 methods for generating a clean number (removing unwanted characters).
### `generateCleanNumber`
`generateCleanNumber` uses regex to remove unwanted characters from numbers. Just a ternary but may be less performant if many numbers are being trimmed.
```javascript
import {
generateCleanNumber
} from 'generate-clean-number'const nowCleanNumber = generateCleanNumber()
```
### `filterNaNfromNumber`
`filterNaNfromNumber` turns a number into an array and strips non-number characters from it before returning a number.
```javascript
import {
filterNaNfromNumber
} from 'generate-clean-number'const nowCleanNumber = filterNaNfromNumber()
```
----
## Examples of what Generate Clean Number Solves
Generate Clean Number solves extra characters that are sometimes added (unknowingly) to numbers when being manipulated while doing date operations or stuff like that.
Here's an example of what this number **could** look like, `~^12`. Here's what Generate Clean Number **will make** it look like, `12`.
### Real world issues Generate Clean Number helps
Listed below are a few real world examples that generate clean number might help with.
- [IEs tolocalestring has strange characters in results](https://stackoverflow.com/questions/25574963/ies-tolocalestring-has-strange-characters-in-results)
- [Date format has invisible characters in IE11](https://github.com/yahoo/react-intl/issues/201)