Round to a number of digits

Apply decimal scaling and JavaScript rounding for display-oriented values.

JavaScript Version 1.0.0 · MIT · .md

round-a-number-to-a-given-number-of-digits.js
function roundTo({ value, digits }) { const factor = 10 ** digits; return Math.round(value * factor) / factor; }

Input & expected output

Input

{
  "value": 12.3456,
  "digits": 2
}

Expected output

12.35

The edge case

Input

{
  "value": 1.005,
  "digits": 2
}

Expected output

1

Know the limits

  • Binary floating-point explains the 1.005 edge case. This is not exact decimal arithmetic.
  • The lab allows 0–6 digits. Never use this function as a financial rounding policy.

The function above is the implementation used by the lab. The lab validates JSON types and caps size before execution; include equivalent validation when accepting untrusted input in your application.

Source & maintenance

Based on Round a number to a given number of digits from the original 1loc collection by Nguyen Huu Phuoc. Copyright (c) 2020 phuoc-ng. MIT licensed.

Curated implementation; explicit input bounds, edge cases, local fixtures and rebuilt presentation. Original MDX retained as inert source evidence.

Maintained by Oveyon. Source commit: 14b481cf60df. Read the license.

Local fixture scope · Node.js 22.23.2 · reviewed October 28, 2026. No external service is required.

Keep exploring

Type two or more characters. Try “duplicate”, “webhook” or “retry”.