I'm trying to take a list of coordinates and convert the right ascensions and declinations from h min s / deg arcmin arcsec to degrees. This is my list of coordinates
{{"07", "48", "22.89", "+43", "47", "00.5"}, {"07", "52", "17.90",
"+20", "43", "12.4"}, {"08", "29", "06.36", "+26", "43",
"38.9"}, {"08", "29", "20.94", "+38", "11", "32.7"}, ...}
And here are the functions I've written
decDeg[y_] = N[ToExpression[StringTake[newDat[[y, 4]], 1] <> "1"]
(ToExpression[newDat[[y, 5]]]/60 + ToExpression[newDat[[y, 6]]]/3600
+ ToExpression[StringTake[newDat[[y, 4]], {2, 3}]])]
raDeg[x_] = ToExpression[newDat[[x, 1]]]*15 + ToExpression[newDat[[x, 2]]]/4 +
ToExpression[newDat[[x, 3]]]/240
If I substitute integers for the variables it works well, but the functions give these errors
I assume this is because the function is evaluating everything too early. I wanted to loop through each set of coordinates and place them in a list. I know this can be done without the functions, but my code would look a lot nicer if I used them. How can I work around these errors?

SetDelayed (:=)(that is,decDeg[y_] := ...andraDeg[x_] :=...) instead ofSet (=). – kglr Jul 06 '17 at 23:26