Fix loss of precision during java serialization 

Python floating point numbers are always represented by the Java double type. 
This will prevent the loss of precision that occurred with the cast to float.