Multiply Float Float (JPS)
A×b, handed back as both a float and an int
- int_multiply
- float_multiply
This node does exactly what the name says and nothing more: it multiplies two floats. You reach for it not because multiplication is hard, but because ComfyUI has no built-in "just multiply these two numbers" node, and pulling in a full expression-evaluator pack for one multiply is overkill. Multiply Float Float (JPS) is the minimal glue for parametric workflows - scaling a strength value, computing a derived dimension, working out a weighted factor - anywhere two floats need to become one number without a detour through a general-purpose math node.
How it works
Two float inputs go in, one multiplication happens, and - this is the actual reason to use this over rolling your own - you get the result back twice: once as a float, once as an int. ComfyUI widgets are strictly typed, so a node expecting an INT socket won't accept a FLOAT wire even if the value would fit. Instead of chaining a separate "convert to int" node after every multiply, JPS just gives you both outputs up front and you wire whichever one your downstream node actually wants.
The inputs and outputs that matter
float_a,float_b(FLOAT, required, both default1) - the two numbers being multiplied.int_multiply(INT) - the product, truncated to an integer.float_multiply(FLOAT) - the product, full precision.
That's the whole node. No hidden options, no widgets you're missing anything by ignoring.
How to install it
Via ComfyUI Manager: search "JPS Custom Nodes for ComfyUI." Manually:
cd ComfyUI/custom_nodes
git clone https://github.com/JPS-GER/ComfyUI_JPS-Nodes.git
Restart ComfyUI. No models, no extra Python packages - this is a pure logic node from a pack that's mostly pure logic nodes, so there's genuinely nothing to fight during install.
Common issues & troubleshooting
The int output isn't rounding the way you expect. int_multiply is a truncation, not a round. 1.5 × 1.5 = 2.25 comes out as 2 on the int side, same as 2.4 would - it drops the decimal rather than rounding to nearest. If your workflow actually needs rounding behavior, do the math on float_multiply and round it yourself downstream.
Type-mismatch red links. If you wired float_multiply into a socket that wants an INT (a step count, a resolution value), ComfyUI won't let you connect it. Use int_multiply for anything that's strictly an integer input.
Output is always 1. Both inputs default to 1, so if you forgot to actually wire something into float_a or float_b, the node will silently run on defaults and hand you 1 × 1 = 1 without complaint. If a downstream value looks suspiciously like "1" when it shouldn't, check that both inputs are actually connected - this node won't error on an unwired input, it'll just use the default.
For the same trick with integers instead of floats, see Multiply Int Int (JPS); for a whole number and a decimal together, JPS also ships Multiply Int Float.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| float_a | FLOAT | 1.00 | — |
| float_b | FLOAT | 1.00 | — |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| int_multiply | INT | — |
| float_multiply | FLOAT | — |