ComfyUI Node

Round Down

Floor, as a node — because ComfyUI's rounding primitives don't always exist

By mikemojen·Created 8 months ago·Updated 3 months ago· 0
Round Down
    • integer
    value0.00

    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.

    Categorymath

    Inputs (1)

    NameTypeDefaultDescription
    valueFLOAT0.00-10000000000–10000000000

    Outputs (1)

    NameTypeDescription
    integerINT