getFloat() seems to have an issue with reading modified values and always returns the default value instead. This needs further investigating, but for now making it use getDouble() internally appears to resolve the issue.