spiffy-round

A spiffy rounder for numbers

Usage no npm install needed!

<script type="module">
  import spiffyRound from 'https://cdn.skypack.dev/spiffy-round';
</script>

README

Spiffy Round logo

Tests MIT License version downloads semantic-release

What

Spiffy/smart rounding for numbers. Returns string (so you can have a consistent number of decimal places).

Why

Consistent, user friendly friendly formatted numbers. See examples below.

API

spiffyRound(value[, decimal places])

value

Type: Number/String

decimal places

Type: Number

Default: 0

Description: Number of desired decimal places (only applies if decimals are not all 0's)

Installation

npm install --save spiffy-round

Usage

const spiffyRound = require("spiffy-round");

// value type Number
spiffyRound(1.2); // '1'
spiffyRound(1.2, 1); // '1.2'
spiffyRound(1.2, 2); // '1.20'
spiffyRound(1.256, 2); // '1.26'
spiffyRound(1, 2); // '1'
spiffyRound(0.0, 2); // '0'
spiffyRound(1.0, 2); // '1'
spiffyRound(-1.0, 2); // '-1'
spiffyRound(+0); // '0'
spiffyRound(-0); // '0'
spiffyRound(+1.006, 2); // '1.01'
spiffyRound(-1.006, 2); // '-1.01'

// value type String
spiffyRound("1.2"); // '1'
spiffyRound("1.2", 1); // '1.2'
spiffyRound("1.2", 2); // '1.20'
spiffyRound("1.256", 2); // '1.26'
spiffyRound("1", 2); // '1'
spiffyRound("0.000", 2); // '0'
spiffyRound("1.00", 2); // '1'
spiffyRound("-1.00", 2); // '-1'
spiffyRound("+0"); // '0'
spiffyRound("-0"); // '0'
spiffyRound("+1.006", 2); // '1.01'
spiffyRound("-1.006", 2); // '-1.01'

ToDo

  • handle exponents
  • handle alternate decimal separator ','

Contributing

Contributions are welcomed. How to make a contribution:

  • Create an issue on Github
  • Fork project
  • Make changes then use npm run commit to commit
  • Create a pull request