When saving large amounts of data, decimals do not properly save. I tried to setup a direct demo of this bug, but it appears you need to save large amounts of data and/or various types. Simply saving a decimal alone, or saving it with a few other variables won't cause the problem.
Code Snippet (if applicable) to Reproduce Problem:
var/savefile/F = new("Players/[copytext(ckey(src.key),1,2)]/[ckey(src.key)][src.SaveSlot].sav")
F["SaveVersion"]<<GameVersion
//Many other variables here
Expected Results:
Decimal saves properly
SaveVersion = 8.2
Actual Results:
Decimal saves as a long non-exact amount
SaveVersion = 8.1999998092651367
Workarounds:
Save it as text and convert it back to a number after loading it.