Ответ, помеченный как таковой, очень близок, но я думаю, что стоит добавить, что есть разница между использованием двойного и десятичного.
Я бы не стал лучше объяснять понятия, чем Википедия, поэтому я просто предоставлю указатели:
арифметика с плавающей точкой
тип десятичных данных
В финансовых системах часто требуется, чтобы мы могли гарантировать точность определенного числа (основание-10) десятичных знаков. Это вообще невозможно, если входные / исходные данные находятся в base-10, но мы выполняем арифметику в base-2 (потому что количество десятичных разрядов, необходимое для десятичного разложения числа, зависит от основания; одна треть занимает бесконечно много десятичных места для выражения в base-10 как 0.333333 ..., но требуется только один десятичный знак в base-3: 0.1).
С числами с плавающей точкой работать быстрее (с точки зрения времени процессора; с точки зрения программирования они одинаково просты) и предпочтительнее, когда вы хотите минимизировать ошибку округления (как в научных приложениях).