--- epic: 6 story: 6.7 title: "Rounding Functions" status: draft --- ## Epic 6 — Advanced Math & Functions **Goal:** Scientific, financial, and power-user math. ### Story 6.7: Rounding Functions As a **CalcPad user**, I want rounding functions including natural-language "round to nearest" and standard floor/ceil/round, So that I can control numeric precision in my calculations. **Acceptance Criteria:** **Given** the user writes `round 21 up to nearest 5` **When** the engine evaluates **Then** the result is `25` **Given** the user writes `round 22 down to nearest 5` **When** the engine evaluates **Then** the result is `20` **Given** the user writes `round 23 to nearest 5` **When** the engine evaluates **Then** the result is `25` (standard rounding: 23 is closer to 25 than 20) **Given** the user writes `floor(3.7)` **When** the engine evaluates **Then** the result is `3` **Given** the user writes `floor(-3.2)` **When** the engine evaluates **Then** the result is `-4` (floor rounds toward negative infinity) **Given** the user writes `ceil(3.2)` **When** the engine evaluates **Then** the result is `4` **Given** the user writes `ceil(-3.7)` **When** the engine evaluates **Then** the result is `-3` (ceil rounds toward positive infinity) **Given** the user writes `round(3.456, 2)` **When** the engine evaluates **Then** the result is `3.46` (rounded to 2 decimal places) **Given** the user writes `round(3.456, 0)` **When** the engine evaluates **Then** the result is `3` **Given** the user writes `round(2.5)` **When** the engine evaluates **Then** the result is `3` (round half up, or the chosen rounding convention is documented)