> Thanks for the responses. I found the problem: > > a = (VAL[0] - 48) * 10000; Try using a = (VAL[0] - 48) * 10000L; to cause the expression to be evaluated as a long and not an int. Andy.