function arr2lon, arr num = n_elements(arr) ; convert all the arr to long type = datatype(arr[0]) case type of 'INT': arr_long = long(arr) 'BYT': arr_long = long(arr) 'LON': arr_long = arr 'UIN': arr_long = long(arr) 'ULO': arr_long = long(arr) 'L64': arr_long = long(arr) 'U64': arr_long = long(arr) 'FLO': arr_long = floor(arr) 'DOU': arr_long = floor(arr) 'COM': arr_long = floor(float(arr)) 'STR': begin arr_long = replicate(-1L, num) for i=0L,num-1 do begin if strnumber(arr[i]) then arr_long[i] = long(arr[i]) end end else: begin arr_long = replicate(-1L, num) if (keyword_set(VERBOSE)) then begin print, 'oc_getline_sao: arr must be numbers or strings' endif endelse endcase return, arr_long end