Round Down
Floor, as a node — because ComfyUI's rounding primitives don't always exist
- integer
Round Down is the math.floor of this pack - one float in, the integer you get by rounding toward negative infinity out. No settings beyond the value, no cleverness, a FLOAT input called value and a single INT output called integer. It's the kind of node that looks pointless until you're in the middle of a workflow that needs an integer and the only thing on the wire is a float, and you realize core ComfyUI doesn't hand you floor/ceil as standalone nodes. Then it's the thing that unblocks you.
Why it's not the same as rounding
This matters more than it sounds. Round Down is floor, not "truncate toward zero" and not "round to nearest." math.floor(3.9) is 3, math.floor(-3.1) is -4, because floor always moves toward negative infinity. If you expected -3, that's the moment you learn the difference - and it's the difference between a correct dimension and a part that's 1 unit short. If you need the opposite direction, the pack's Round Up node (math.ceil) is the sibling; for symmetric "round to nearest," you want a different tool entirely.
Where it fits
Useful in dimension and tile math, where computed sizes come out fractional and downstream nodes want whole integers - pixel-aligned cropping, grid layouts, batch counts. In the pack's natural context, wire SVGDimensions' float width into it to get a pixel-perfect integer before feeding a resize or crop node. The value range is generous (−1e10 to 1e10) and the step is 0.01, so it takes typical floats without complaint.
Install
Part of ComfyUI-HappNodeSet (mikemojen). ComfyUI Manager: search HappNodeSet. Manual:
cd ComfyUI/custom_nodes
git clone https://github.com/mikemojen/ComfyUI-HappNodeSet.git
pip install -r ComfyUI-HappNodeSet/requirements.txt
Restart ComfyUI. It's pure Python - literally math.floor - so it adds zero dependency weight to the pack.
Honest take
This node is the definition of a utility: you won't search for it, you'll just be glad it's installed when a workflow needs it. If you're installing the pack mainly for the diagram and laser tools, this is a freebie you'll occasionally use and never think about. Just remember the floor-vs-truncate distinction on negatives - that's the one trap, and it's not this node's fault, it's math's.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| value | FLOAT | 0.00-10000000000–10000000000 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| integer | INT | — |