ceil: rounds a float value up and returns a float value

floor: rounds a float value down and returns a float value

int: returns a float value as an integer value, omitting any floating point numbers

the reason why Weight# = RND(1000) / 1000 does not work is because the programm looks at RND(1000) and sees it as an integer. let's say it returned 260. so it devides 260/1000. both are integer so the return value is integer (0.26 -> 0) and after that it will look at Weight#=0

if you do somthing like (0.0+RND(1000))/1000 then it will look at 0.0+RND(1000), so float + int = float, 260.0/1000 -> float/int=float, Weight#=0.26

the first value in an calculation must be a float for the calculation to return a float. order of operations do matter.

i made a very simple function that takes a value and returns it as a float:

function real(v as float)
endfunction v

"It is only slightly easier than changing all sugar in a cake into stevia after it has already been baked" -Bisqwit