项目作者: jakeboone02

项目描述 :
Convert integer plus fraction into a decimal value
高级语言: TypeScript
项目地址: git://github.com/jakeboone02/numeric-quantity.git
创建时间: 2015-03-18T15:40:38Z
项目社区:https://github.com/jakeboone02/numeric-quantity

开源协议:MIT License

下载


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 ('1⅖'), 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 'Ⅻ', pass { romanNumerals: true } as the second argument or call parseRomanNumerals directly.
  • 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

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

CDN

As an ES module:

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

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

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