Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

readable-fractions

Package Overview
Dependencies
Maintainers
1
Versions
3
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

readable-fractions

Converts decimals to human readable fractions, and fractions to decimals.

  • 0.1.1
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
1.2K
decreased by-6.66%
Maintainers
1
Weekly downloads
 
Created
Source

Human Readable Fractions

A small library to convert decimals to human readable fractions. Since the fractions are human readable, it means that they are not precise. The maximum denominator (right now) is 10. Also contains a function to convert fractions to decimals.

Info

API

formatReadableFraction

Formats the readable fraction object as a string.

  • @param {Object} fraction - The fraction object to convert to a string. It's recommended to use the result of toReadableFraction, but any array with the format of [numerator, denominator] is allowed.
  • @param {Boolean} isImproper (optional) - If true, will return an improper fraction if the fraction object has a numerator greater than its denominator. @returns {String} The fraction object in string format.

Usage:

let fractionObject = {
  denominator: 3,
  error: -3.3333333332441484e-7,
  numerator: 1
};
let result = formatReadableFraction(fractionObject);
console.log(result);
// '1/3'
let fractionObject = {
  denominator: 5,
  error: -0.012500000000000178,
  numerator: 11
};
let result = formatReadableFraction(fractionObject);
console.log(result);
// '2 1/5'
let fractionObject = {
  denominator: 5,
  error: -0.012500000000000178,
  numerator: 11
};
let result = formatReadableFraction(fractionObject);
console.log(result);
// '11/5'
fractionToDecimal

Converts a fraction to a decimal. Unlike toReadableFraction, this is precise.

  • @param {String} fraction - The fraction (as a string) to convert.
  • @returns {Number} The converted fraction in decimal notation.

Usage:

let fraction = '1/4';
let result = fractionToDecimal(fraction);
console.log(result);
// 0.25
let fraction = '2 1/4';
let result = fractionToDecimal(fraction);
console.log(result);
// 2.25
toReadableFraction

Converts a decimal to a human readable fraction with a maximum denominator of 10. This means that the result is NOT precise.

  • @param {Number} decimal - The decimal number to convert.
  • @param {Boolean} shouldFormat (optional) - If true then the function will return a string instead of the fraction object.
  • @returns {Object|String} A fraction object with keys: denominator, error, numerator; OR a formatted fraction string (This will always return a result with a proper fraction so if the decimal is greater than 1 then the resultwill never be improper (e.g. 12/5). To retrieve an improper fraction, call formatReadableFraction on the result of toReadableFraction.

Usage:

let decimal = 0.333333;
let result = toReadableFraction(decimal);
console.log(result);
// { denominator: 3, error: -3.3333333332441484e-7, numerator: 1 }
let decimal = 0.125;
let result = toReadableFraction(decimal, true);
console.log(result); // '1/8'

Contributing

Add the git post-commit hook

License

MIT

FAQs

Package last updated on 10 Aug 2019

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc