I think the problem is with the %d in the db_query() function. It should be %f, if you want float value to be stored.
If you change line 510 of votingapi.module from
db_query("INSERT INTO {votingapi_cache} (vote_cache_id, content_type, content_id, value, value_type, tag, function) VALUES (%d, '%s', %d, %d, '%s', '%s', '%s')",
...to
db_query("INSERT INTO {votingapi_cache} (vote_cache_id, content_type, content_id, value, value_type, tag, function) VALUES (%d, '%s', %d, %f, '%s', '%s', '%s')",
This fix seems to work for me. Not sure if storing all cached values as a float rather than an int will cause problems in caching values which are supposed to be integers (e.g. count). I suspect this would not be a problem. My cursory testing seems to show no problems.
Also, I wonder whether the same problem with %d instead of %f is preventing decimal values from being inserted into the votingapi_vote table. Conceivably you would want to insert non-integer values.
Comments
Comment #1
eaton commentedNow in the current CVS version. A bit more testing and I'll mark it as 4.7. Thanks!
Comment #2
(not verified) commented