Format numbers as imperial measurement strings with vulgar fractions, mixed numbers, and Roman numerals. Current stable version is 3.1.0, released on npm with a Node.js >=16 requirement. It ships TypeScript types and is actively maintained. Key differentiators: supports vulgar fraction characters (e.g., '⅞'), mixed number parsing via numeric-quantity, and options like fractionSlash (using Unicode fraction slash) and custom separator. Intended for recipe ingredient formatting where empty string is returned for zero. Alternative to manual fraction conversion; inverse operation available in numeric-quantity package.
npm install format-quantityNo compatibility data collected yet for this library.
Verified import paths — ran on the pinned version, not inferred.
Demonstrates basic formatting, vulgar fractions, fraction slash, custom separator, zero handling, invalid input, and string parsing including mixed numbers and comma separators.
Use dynamic import() or switch to ESM: import { formatQuantity } from 'format-quantity'If you need '0' output, handle it separately: formatQuantity(n) || '0'
Check for null return value explicitly: const result = formatQuantity(val); if (result === null) { /* handle error */ }Use fractionSlash option for sixteenths if you need Unicode fraction display
Use options object: formatQuantity(3.875, { vulgarFractions: true })Install v3+ (ESM) or use dynamic import: const { formatQuantity } = await import('format-quantity');Use named import: import { formatQuantity } from 'format-quantity';Ensure the script tag loads before your code, and use FormatQuantity.formatQuantity() (note capital F).
Run 'npm install format-quantity' and ensure tsconfig.json includes node modules. If still failing, check node_modules/@types/format-quantity doesn't exist (types are bundled).
Pass a number or parsable string; check that numeric-quantity is installed (peer dependency).