Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/hypersoftllc/qc-to_num
A simple JavaScript utility to convert various value to a number.
https://github.com/hypersoftllc/qc-to_num
javascript-utility
Last synced: 28 days ago
JSON representation
A simple JavaScript utility to convert various value to a number.
- Host: GitHub
- URL: https://github.com/hypersoftllc/qc-to_num
- Owner: hypersoftllc
- License: isc
- Created: 2017-05-03T22:13:17.000Z (almost 8 years ago)
- Default Branch: develop
- Last Pushed: 2017-06-02T17:48:37.000Z (over 7 years ago)
- Last Synced: 2025-01-02T23:03:23.900Z (about 1 month ago)
- Topics: javascript-utility
- Language: TypeScript
- Size: 17.6 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# qc-to_num
[![Build Status][travis-svg]][travis-url]
[![Coverage Status][coverage-image]][coverage-url]
[![License][license-image]][license-url]
[![Downloads][downloads-image]][downloads-url][![npm badge][npm-badge-png]][package-url]
A simple JavaScript utility to convert various values to a number.
**What it does that `parseFloat` doesn't**
* Allow a default value to be set instead of returning `NaN`.
* Convert `'-0'` to `0` instead of `-0`.
* Allow an input with a valueOf function to supply the convertible value.**What it does that `new Number` doesn't**
* Won't return a `Number` instance.
* Allow a default value to be set instead of returning `NaN`.
* Convert `'-0'` to `0` instead of `-0`.**What it does that `Number` doesn't**
* Allow a default value to be set instead of returning `NaN`.
* Convert `'-0'` to `0` instead of `-0`.## Installation
```sh
npm install --save qc-to_num
```## Example Usage
```js
import { toNum, toNumOrNull } from 'qc-to_num';toNum('+3.1459'); // `3.1459`
toNum('2'); // `2`
toNum(2.6); // `2.6`
toNum(1.2); // `1.2`
toNum(1); // `1`
toNum(-1); // `-1`
toNum(-2.6); // `-2.6`
toNum({ valueOf() { return 42; } }); // `42`
toNum({ valueOf() { return '42'; } }); // `42`toNum(); // The inconvertible input
toNum(, undefined); // The inconvertible input
toNum(, { def: undefined }); // The inconvertible inputtoNum(, null); // `null`
toNum(, { def: null }); // `null`
toNumOrNull(); // `null`toNum(, 0); // `0`
toNum(, { def: 0 }); // `0`toNum(, NaN); // `NaN`
toNum(, { def: NaN }); // `NaN`toNum(); // `undefined`
toNumOrNull(); // `null`toNum(NaN); // `NaN`
toNum(NaN, null); // `null`
toNumOrNull(NaN); // `null`toNum(''); // `''`
toNum('', null); // `null`
toNumOrNull(''); // `null`
```[coverage-image]: https://coveralls.io/repos/github/hypersoftllc/qc-to_num/badge.svg?branch=master
[coverage-url]: https://coveralls.io/github/hypersoftllc/qc-to_num?branch=master
[downloads-image]: http://img.shields.io/npm/dm/qc-to_num.svg
[downloads-url]: http://npm-stat.com/charts.html?package=qc-to_num
[license-image]: http://img.shields.io/npm/l/qc-to_num.svg
[license-url]: LICENSE
[package-url]: https://npmjs.org/package/qc-to_num
[npm-badge-png]: https://nodei.co/npm/qc-to_num.png?downloads=true&stars=true
[travis-svg]: https://travis-ci.org/hypersoftllc/qc-to_num.svg?branch=master
[travis-url]: https://travis-ci.org/hypersoftllc/qc-to_num