ROUNDDOWN
Rounds a number down (toward zero) to the nearest integer or to a specified number of decimal places. Use ROUNDDOWN when you need to ensure values never exceed a limit, such as discount caps or conservative estimates.
ROUNDDOWN always rounds toward zero, regardless of the fractional part.
Syntax
ROUNDDOWN(number, [decimals])number(Number): The value to round down.decimals(Number, optional): The number of decimal places to keep (default = 0).
Returns: Number – The rounded-down result with the specified precision.
Simple Examples
ROUNDDOWN(3.14159, 2) // 3.14
ROUNDDOWN(4.9) // 4
ROUNDDOWN(7.99) // 7
ROUNDDOWN(-2.6) // -2Business Examples
Apply maximum discount caps
ROUNDDOWN(CALCULATED_DISCOUNT, 2)Ensures discounts never exceed policy limits due to rounding (e.g., 15.678% → 15.67%).
Calculate conservative revenue projections
ROUNDDOWN(ESTIMATED_SALES * MARGIN, 0)Provides lower-bound estimates for financial planning.
Determine completed work units
ROUNDDOWN(TOTAL_HOURS / HOURS_PER_UNIT, 0)Counts only fully completed units, ignoring partial progress.
Common Mistakes & Tips
Defaults to 0 decimals if no precision is given.
Negative decimal values round to tens, hundreds, etc. (
ROUNDDOWN(1234, -2)→1200).For negative numbers, ROUNDDOWN moves toward zero (less negative).
Use
FLOORfor always rounding toward negative infinity instead.Pair with
ROUNDUPto establish upper and lower bounds in calculations.
Tests
ROUNDDOWN(3.14159, 2) == 3.14 // true
ROUNDDOWN(4.9) == 4 // true
ROUNDDOWN(7.99) == 7 // true
ROUNDDOWN(-2.6) == -2 // true
ROUNDDOWN(1234, -2) == 1200 // trueSee also
ROUND · ROUNDUP · FLOOR · CEIL