select case when a.cnt < 1 then to_char(a.cnt,'fm0.9999999999999999999999') else to_char(a.cnt,'fm9999999999.999999999999999999') end as cne
  from (select 0.0001 as cnt from dual union all
        select 1.0001 as cnt from dual union all
        select 111.0001 as cnt from dual union all
        select 9999999.000000000000001 as cnt from dual union all
        select 0.00000000000001 as cnt from dual
        ) a

alt