You need to cast the int to double before the division:
timestamp = int64(3000)
samplerate = 30000 % will be of type double by default
ans1 = timestamp ./ samplerate % returns an int64 with value 0
ans2 = double(timestamp) ./ samplerate % returns a double with value 0.1
% if you convert ans1 to double after the division, the fractional information has already been lost to rounding
double(ans1) % returns a double with value 0
See this page for a discussion of this behavior by Matlab:
"Arithmetic operations that involve both integers and floating-point always result in an integer data type."
Best,
Tom