Bigdecimal, Java.
involve rounding error anyway? This question is a recurring theme in this section. Guard digits, a method of reducing mistake while subtracting two neighboring numbers, are discussed under the section Guard Digits. IBM deemed guard digits to be so vital that it added one to the double precision