in reply to Re^6: Reading (the same) data in different ways & memory usage
in thread Reading (the same) data in different ways & memory usage
They may be stored on disk as IEEE floats (or some other binary representation), but if they are defined as FLOAT(7,2), then the DB needs to return them to you in that form. Ie. with no more than 2 decimal places.
But if the value arises due to math internal to the DB, then the binary representation may contain more than two decimal places. just as when you do math in perl. Eg.
$n = 1/10;; printf "%.17f\n", $n;; 0.10000000000000001
So, when it returns a value it needs to round or truncate to meet the column type, and the easiest way to do that is sprintf which returns a string.
|
|---|