• Casting the float to a VARCHAR value is what causes the rounding you are seeing:

    select

    a.MyFloat,

    ToVarchar = convert(varchar(30),a.MyFloat),

    ToLtrimRtrim =ltrim(rtrim(a.MyFloat))

    from

    ( Select MyFloat = convert(float,10041.25E00) ) a

    Results:

    MyFloat ToVarchar ToLtrimRtrim

    ---------------------- ------------------------------ -----------------------

    10041.25 10041.3 10041.3