Cant subtract very small doubles

print(CostFunction(1, 1, false, 0, biases[0]));
print(CostFunction(1, 1, false, 0, biases[0] + 0.1));
print((CostFunction(1, 1, false, 0, biases[0] + 0.1) - CostFunction(1, 1, false, 0, biases[0])) / 0.01);

image

I am trying to calculate the slope of the cost function but these numbers are very small and the third print function returns 0 even if there is a difference.

now if I set the numbers like this:

print((0.000000005 - 0.000000004) / 0.01);

it should print: 1E-7
and it prints it correctly

So how can I calculate this:

print((CostFunction(1, 1, false, 0, biases[0] + 0.1) - CostFunction(1, 1, false, 0, biases[0])) / 0.01);