Skip to main content
Home
This release is 3 versions behind 2.0.1 — the latest version of @codemonument/simple-rounding. Jump to latest

Built and signed on GitHub Actions

Works with
This package works with Cloudflare Workers, Node.js, Deno, Bun, Browsers
This package works with Cloudflare Workers
This package works with Node.js
This package works with Deno
This package works with Bun
This package works with Browsers
JSR Score100%
Downloads2/wk
Publisheda year ago (0.2.0)

A deno module, containing relieable custom functions for rounding, ceiling, flooring, truncating and formatting floating point numbers.

A deno module, containing "mostly"(tm) relieable custom functions for rounding, ceiling, flooring, truncating and formatting floating point numbers.

Why?

Basic Problem: JS Floating Point Math is highly inaccurate. Found this thread: https://stackoverflow.com/questions/11832914/how-to-round-to-at-most-2-decimal-places-if-necessary

First best solution: Use a library with correct implementation of floating point math.

Second best solution: Use a custom implementation of roundToPrecision

Examples

Example 1

import { assertEquals } from "@std/assert";
import { roundToPrecision, ceilToPrecision, floorToPrecision, truncToPrecision, toFixed } from "@codemonument/simple-rounding";

const testFloat = 55.3218697;
const result1 = roundToPrecision(testFloat, 2);
assertEquals(result1, 55.32);
const result2 = ceilToPrecision(testFloat, 2);
assertEquals(result2, 55.33);
const result3 = floorToPrecision(testFloat, 2);
assertEquals(result3, 55.32);
const result4 = truncToPrecision(testFloat, 2);
assertEquals(result4, 55.32);
const result5 = toFixed(testFloat, 2);
assertEquals(result5, "55.32");
Built and signed on
GitHub Actions

Report package

Please provide a reason for reporting this package. We will review your report and take appropriate action.

Please review the JSR usage policy before submitting a report.

Add Package

deno add jsr:@codemonument/simple-rounding

Import symbol

import * as simple_rounding from "@codemonument/simple-rounding";
or

Import directly with a jsr specifier

import * as simple_rounding from "jsr:@codemonument/simple-rounding";

Add Package

pnpm i jsr:@codemonument/simple-rounding
or (using pnpm 10.8 or older)
pnpm dlx jsr add @codemonument/simple-rounding

Import symbol

import * as simple_rounding from "@codemonument/simple-rounding";

Add Package

yarn add jsr:@codemonument/simple-rounding
or (using Yarn 4.8 or older)
yarn dlx jsr add @codemonument/simple-rounding

Import symbol

import * as simple_rounding from "@codemonument/simple-rounding";

Add Package

vlt install jsr:@codemonument/simple-rounding

Import symbol

import * as simple_rounding from "@codemonument/simple-rounding";

Add Package

npx jsr add @codemonument/simple-rounding

Import symbol

import * as simple_rounding from "@codemonument/simple-rounding";

Add Package

bunx jsr add @codemonument/simple-rounding

Import symbol

import * as simple_rounding from "@codemonument/simple-rounding";