Round any number to N decimal places or N significant figures under 4 rounding modes, including banker's rounding. Exact decimal math, no float errors.
JavaScript’s own (2.675).toFixed(2) returns "2.67", not "2.68", because 2.675 has no exact binary floating-point representation and is actually stored as something microscopically below it. This tool never converts the input to a float at all: it parses the digits as text and rounds them with exact integer arithmetic, so the answer matches what the digits actually say.
Enter a number, pick a rounding mode, and both a decimal-place result and a significant-figures result appear side by side, so you can compare the two without retyping.
Click Load Sample and the field fills with 2.675, decimal places set to 2, significant figures to 3, mode Half Up. The decimal-place card reads 2.68, correct because the digit immediately after the second decimal place is a 5 with nothing following it. Press Load Sample again for 9.995 at 3 significant figures: the digits 999 round up to 1000, which is one digit too many for 3 significant figures, so the result carries into the next order of magnitude and displays as 10.0.
A negative number that rounds to exactly zero, like -0.001 at 2 decimal places, displays as 0.00 rather than the misleading -0.00. Decimal places and significant figures each accept whole numbers from 0 to 15; anything outside that range shows “Decimal places must be a whole number from 0 to 15.” or the matching significant-figures message, rather than silently clamping to the nearest valid value. Input that isn’t a plain decimal number, like a fraction or an expression, shows “Enter a plain decimal number, like 2.675 or -14.2.”
Rounding mode
2 Decimal Places
2.68
3 Significant Figures
2.68