Bigdecimal, Java.
points. For the decimal component, 15.589 + 0.250 equals 589 + 250 percent 1000. (and then any carry to the whole part). This integrates well with current databases. As previously said, there is some rounding, but you know where it is and can set it to be more exact than is required (you are only