I'm sure there are better ways but here goes..

insert into new_table as
select a, b, c,
case when UPPER(num_as_varchar) = LOWER(num_as_varchar) then to_number( num_as_varchar)
else 0.0
end, d, e from old_table;



maybe use one of those 0-9 (+ ./,) functions rather than UPPER/LOWER