With your ROUND, you are rounding to 3 decimal places so that is why you are getting a bunch of 0's.
So your options are:
1 - change your ROUND to be rounding to 6 decimal places by replacing your "3" at the end with a "6"
2 - CAST it to a different data type than what I am expecting is FLOAT or possibly REAL
If you go with option 2, I recommend using the NUMERIC datatype as then you can specify the number of digits past the decimal point.
An example of both approaches:
SELECT ROUND(44293.92/ 121789886.93,6)
SELECT CAST(44293.92/ 121789886.93 AS NUMERIC(19,6))
Approach number 1 gives you up to 19 digits with 6 of those being in the decimal place section. It will round it in your case to 0.000364 as is expected when rounding.
Approach number 2 gives you 6 digits past the decimal and then 0's out the remaining, but this is fine as 0.5 is EXACTLY the same number as 0.50 or 0.500000000000. Those are all the same value.