README
format-quantity
Formats a number (or string that appears to be a number) as one would see it written in imperial measurements, e.g. "1 1/2" instead of "1.5". To use unicode vulgar fractions like "⅞", pass true
as the second argument.
For the inverse operation, converting a string (which may include mixed numbers or vulgar fractions) to a number, check out numeric-quantity or, if you're interested in parsing recipe ingredient strings, try parse-ingredient.
Installation
npm
# npm
npm i format-quantity
# yarn
yarn add format-quantity
Browser
In the browser, available as a global function formatQuantity
.
<script src="https://unpkg.com/format-quantity"></script>
<script>
console.log(formatQuantity(10.5)); // "10 1/2"
</script>
Usage
import formatQuantity from 'format-quantity';
console.log(formatQuantity(1.5)); // "1 1/2"
console.log(formatQuantity(2.66)); // "2 2/3"
console.log(formatQuantity(3.875, true)); // "3⅞"
The return value will be null
if the provided argument is not a number or a string that evaluates to a number using parseFloat
. The return value will be an empty string (""
) if the provided argument is 0
or "0"
(this is done to fit the primary use case of recipe ingredients).