Для работы с денежными суммами в C# введен специальный тип decimal. Он для представления значений использует 128 разрядов в диапазоне: от 1Е-28 до 7.9Е+28. Тип decimal не относится к вещественным типам и отличается от других вещественных типов тем, что позволяет избежать ошибок округления, так как использует для представления дробной части чисел до 28 разрядов.
Величины финансового типа нельзя использовать в одном выражении с вещественными без явного преобразования типа. Использование величин финансового типа в одном выражении с целыми допускается.