0.99999999999999978 * 6 ==> 5.9999999999999982

5.9999999999999982.ToString() ==> 6

5.9999999999999982.ToString("R") ==> 5.9999999999999982

]]>`NextDouble`

as 0.99999999999999989? I’m seeing it as 0.99999999999999978, in which case the result couldn’t be 5.9999999999999991. http://msdn.microsoft.com/en-us/library/system.random.nextdouble(v=vs.110).aspx
]]>]]>

5.9999999999999991.ToString() ==> 6

5.9999999999999991.ToString("R") ==> 5.9999999999999991

double.Equals(5.9999999999999991, 6) ==> False

]]>`R`

?
]]>`F`

. That will always produce an output of `0.XY`

in this case, where X is the number we care about. We can’t use `F1`

due to rounding which could skew results.
]]>Looking at the actual answer, I was sorta correct.

]]>