I can’t find an Int divided by Float node, but there is an Int multiplied by Float node. Is there some internal difference between 3/2.0 and 3*0.5?
No difference. It’s just that it makes little sense to take a int to divide by a float. You should convert to float first and then float/float.
Each math need to be manually made in C++ (it just single function btw) and that node simply was not made as int*float is more common in programming. Create a blueprint function if you really want such node, or if you project is C++ do node there by making static function. You can also post request in feedback forum to add that node.
Except that’s less concise (more clutter, less readability), and there’s no reason for it to be so.
Why does it make little sense to divide int by float, but perfect sense to multiply int by float? There should be either both nodes (Int * Float, Int / Float) or neither. There’s no obvious justification for the inconsistency–again, unless there’s some internal difference. If the reason for no Int/Float is because they want you to manually cast it first, then that reason should also decree that there be no Int*Float, no?
I don’t work for Unreal and don’t know the reason. It may have been discussed by them, I don’t know. But you have to see that dividing an integer variable by a float makes less sense than doing float operations.
Every programming language I have worked in allows you to operate Ints against Floats and Doubles, simply auto-casting the Int as part of the operation. I’m 80% sure this is the case in C++. So I’m not sure where you’re drawing your own intuitive sense that it’s wrong from.
Floats are more-precise Ints. The one-way auto-casting makes sense because all Ints can be Floats, but not all Floats can be Ints.