Rounding looks trivial until two tools give you different answers for 2.5. The reason is almost never a bug — it is the rounding mode. This calculator exposes every common mode, lets you round by place value, decimal places, or significant figures, and shows all modes side by side so you can see exactly where they diverge.
Why 2.5 rounds differently
An exact half is the only case where rounding rules disagree. Round half up pushes 2.5 to 3; round half down pushes it to 2; banker's rounding (round half to even) sends it to 2 because 2 is even, but rounds 3.5 to 4. For any value that is not exactly halfway, every mode that rounds to the nearest integer agrees. That is why most numbers behave identically everywhere and only the halves cause arguments.
Banker's rounding and bias
Nearest modes agree away from exact ties. Directed modes can disagree on any nonintegral step: floor, ceiling, truncation and rounding away from zero use different directions. The highlighted rows identify exact ties; compare every row for the actual mode results.
Significant figures vs decimal places
Decimal places count digits to the right of the point, regardless of the number's size: 3.14159 to two decimals is 3.14, and 12345.678 to two decimals is 12,345.68. Significant figures count meaningful digits from the first non-zero digit, so they track precision across magnitudes: 0.0034567 to three sig figs is 0.00346, and 12,345 to three sig figs is 12,300. Use decimal places for money and fixed-format reports; use significant figures for scientific measurements where the magnitude varies.
Negatives and directed rounding
Negative numbers expose the difference between directed modes. Ceiling always moves toward positive infinity, so -2.7 becomes -2; floor moves toward negative infinity, so -2.3 becomes -3. Truncate (toward zero) drops the fraction, turning -2.9 into -2, while away from zero turns -2.1 into -3. JavaScript's built-in rounding helpers are biased for negatives — Math.round turns -2.5 into -2 (toward +infinity) — which is exactly why this calculator implements each mode explicitly instead of relying on them.