I think its because you are trying to divide to integer values, which gives an integer; you need to cast one or both of them to doubles (technically, on the Arduino, a double is a float, though) before division, to return a double (float). See:
I play the compiler.
456 is a int
100 is a int
456/100 is therefor an int ==> 4 (implicit rounding down)
assign this int to a double named test => 4.00
print it. ==> 4.00
Is there a simple fix that I should apply? Is there something I am doing wrong?
Try this
double test = ((double)456) / 100;
or
double test=456/100.0; divide explicit by a float/double (same on arduino)