I'm using combinations of Python, php and sqlite to read, store and replace floating point values. I'm aware of some of the inaccuracy issues in PHP but haven't really noticed them as profoundly as when I move scripts from other platforms to the RPi.
For example, reading i2c sensor values with i2c get via a shell_exec in php, then storing to a REAL column in an sqlite3 file, then retrieving the values again using adminer.php, I end up with something similar to this:
Modify picoStatusId timestamp mode batlevel rpilevel ad1v ad2v cputemp tempC humiP sot23temp to92temp
edit 1532 2016-04-21_13:49:20 1 2.4599999999999999645 4.7800000000000002487 0.51000000000000000888 0.68999999999999994671 30.399999999999998579 20 37 33 0
edit 1531 2016-04-21_13:48:05 1 2.4599999999999999645 4.7800000000000002487 0.54000000000000003553 0.68999999999999994671 30.899999999999998579 20 37 33 0
So, where are those long-winded decimals most likely being plopped in and how can I find out? I don't have any handy tools for staring directly into the sqlite3 file to see if that's how the values got there and I'm using PHP to get them in and out. So tracing the direct source of where the noise is coming in is hard to do when two of the tools are always involved in any check.