@chriscdn/to-number
v1.0.2
Published
A tool for converting values to number.
Readme
@chriscdn/to-number
A TypeScript library for numeric conversion and validation.
Motivation
This package assists in number parsing, including:
- returning
nullinstead ofNaNwhen a value cannot be converted, - rounding options, and
- offering type-checking functions.
Installation
Using npm:
npm install @chriscdn/to-numberUsing yarn:
yarn add @chriscdn/to-numberUsage
toNumber
The toNumber function converts an input value to a numeric type. It returns null for invalid or non-finite numeric values such as NaN, Infinity, or -Infinity.
Parameters:
input: The value to convert.options: An optional object for rounding:roundingMode(NONE,FLOOR,CEIL,ROUND, defaultNONE)digits(number of decimal places, default0)
Examples:
import { toNumber, RoundingMode } from "@chriscdn/to-number";
toNumber("123.99999", {
roundingMode: RoundingMode.FLOOR,
digits: 2,
});
// Returns: 123.99
toNumber("hello123");
// Returns: nullceil, floor, round
The ceil, floor, and round functions can adjust numbers to a specific number of decimal places (unlike JavaScript's Math.ceil(), Math.floor(), and Math.round() which always return whole numbers).
Example:
import { ceil } from "@chriscdn/to-number";
ceil(15.65, { digits: 1 });
// Returns: 15.7Type Guards
The library provides isFloat, isInteger, and isNumber type guard functions. These functions return false for NaN, Infinity, and -Infinity.
Example:
import { isFloat, isInteger, isNumber } from "@chriscdn/to-number";
isFloat(45.2);
// Returns: true
isInteger(5.0);
// Returns: true