Floating point representations are hardware specific so the precision that is supported by the underlying type may vary from platform to platform. For most normal uses Java floats or doubles should be safe to use but it's possible that there may be a loss of precision if the underlying platform does not follow the IEEE 754 spec.
Because not all floating types are the same in COBOL BigDecimal is the 'natural' type for this class, however, numbers with fraction portions that are not representable in binary will be rounded on setting the data.
@author James Watson