Float (1 Dec)
The dial that moves in tenths and nothing else
- FLOAT
A float node is a boring thing to write 500 words about, so let's be precise about the one thing this one is actually for: control over how the number moves.
What it's for
When you drag a float widget in ComfyUI, the step size decides the increment. A denoise field with step 0.01 wobbles in units you can't see and can't reliably reproduce; a field with step 0.1 only ever gives you 0.1, 0.2, 0.3. That's not a limitation, it's a stance - it's the difference between a knob with detents and a knob with a long continuous sweep, and for a lot of parameters the detents are what you want.
Float (1 Dec) is a shared tenths-grained value: LoRA strength, a ControlNet end_percent, a scale multiplier, an image weight in an IPAdapter-ish blend. The ones where 0.7 versus 0.8 is the whole decision and 0.74 is noise.
The other half of the value is what the plumbing doc covers at length: repetition. One node, many consumers. LoRA strength that needs to reach three LoraLoader nodes and also a note node and also the filename template. Type it once, wire it everywhere, and changing your mind costs one drag.
How it works
Input float_val: FLOAT, default 0, step 0.1, tooltip "Float with one decimal place." Output FLOAT, single socket. The class returns float(float_val) and does not round.
Read that twice, because it's the honest mechanism and it's where the naming misleads people: the "1 dec" describes the widget grain, not a rounding operation. You can't nudge the value to 0.73 with the arrows, but if a workflow JSON hands this node 0.73 - or something upstream writes it - that's what comes out the other side. Only Float (No Dec) in this family actually does maths in Python. I think that's the right call - silently rewriting a value on a passthrough node is worse than a slightly optimistic name - but it does mean you shouldn't treat this as a precision guarantee.
Installing it
It lives in ComfyUI-MDSNodes by MarwanDSAI, the utility pack built around the author's Ultimate Model Tester workflow. Install via ComfyUI Manager (search ComfyUI-MDSNodes or MDSNodes), or:
cd ComfyUI/custom_nodes
git clone https://github.com/MarwanDSAI/comfyui-mdsnodes
# restart ComfyUI
No pip installs. The repo's requirements.txt is empty and the README states plainly that the pack needs nothing beyond standard ComfyUI dependencies. Nothing to download, no model files.
Search Float (1 Dec) on the canvas; it's in MDSNodes/Constants alongside the no-dec and two-dec variants and the rest of the typed constants (Denoise, Feather Radius, Guide Size, BBox Crop Factor).
Common issues
Not in the node list. These constants arrived in pack version 1.8.0 (Aug–Sep 2026). An older clone doesn't have them - update in Manager and restart ComfyUI, since node registration happens once at server start.
The arrows seem to do nothing. On a value near zero with step 0.1, each click moves 0.1 - which is a fifth of the visible bar on a 0–1 field and looks like a jump. That's the grain doing its job; if you want finer, you're after Float (2 Dec).
You wired it into a switch and lost your value. Switching nodes and primitive nodes are different tools: Float Switch (2 decimal) from this pack holds its two candidates inline and can't take a wire, so reach for a switch with real input sockets if the value has to come from elsewhere.
Something downstream shows 0.7000000000000001. That's float representation in whatever node consumed it, not this one - the value handed over is what you see. It shows up in text outputs and metadata, and it's cosmetic.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| float_val | FLOAT | 0.0-18446744073709550000–18446744073709550000 | Float with one decimal place. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| FLOAT | FLOAT | The float value with 1 decimal. |