Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

jakeboone02/numeric-quantity

Repository files navigation

npm workflow status codecov.io downloads MIT License

Converts a string to a number, like an enhanced version of parseFloat.

Full documentation

Features:

  • In addition to plain integers and decimals, numeric-quantity can parse numbers with comma or underscore separators ('1,000' or '1_000'), mixed numbers ('1 2/3'), vulgar fractions ('12⁄5'), and the fraction slash character ('1 2⁄3').
  • To allow and ignore trailing invalid characters à la parseFloat, pass { allowTrailingInvalid: true } as the second argument.
  • To parse Roman numerals like 'MCCXIV' or 'XII', pass { romanNumerals: true } as the second argument or call parseRomanNumerals directly.
  • To produce bigint values when the input represents an integer that would exceeds the boundaries of number, pass { bigIntOnOverflow: true } as the second argument.
  • Results will be rounded to three decimal places by default. To avoid rounding, pass { round: false } as the second argument. To round to a different number of decimal places, assign that number to the round option ({ round: 5 } will round to five decimal places).
  • Returns NaN if the provided string does not resemble a number.

For the inverse operation—converting a number to an imperial measurement—check out format-quantity.

For a more complete solution to parsing recipe ingredients, try parse-ingredient.

Usage

Installed

import { numericQuantity } from 'numeric-quantity';
console.log(numericQuantity('1 1/2')); // 1.5
console.log(numericQuantity('2 2/3')); // 2.667

CDN

As an ES module:

<script type="module">
 import { numericQuantity } from 'https://cdn.jsdelivr.net/npm/numeric-quantity/+esm';
 console.log(numericQuantity('101⁄2')); // 10.5
</script>

As UMD (all exports are properties of the global object NumericQuantity):

<script src="https://unpkg.com/numeric-quantity"></script>
<script>
 console.log(NumericQuantity.numericQuantity('xii', { romanNumerals: true })); // 12
</script>

About

Convert integer plus fraction into a decimal value

Topics

Resources

License

Stars

Watchers

Forks

Sponsor this project

Contributors 2

AltStyle によって変換されたページ (->オリジナル) /