Есть ли в C# тип для подсчёта денег?

Вот есть у меня класс Pocket, в котором есть поле Cash. Какой тип мне стоит использовать для отображения денег в этом кошельке? Есть ли какой-то тип в C#, который автоматически округляет значение до 2х знаков после запятой и отображает денежные средства?

Чем больше вмещает в себя тип данных, тем лучше его использовать для отображения валюты.

Типа данных, который автоматически будет округлять значение до 2-х знаков после запятой, учитывая конвертацию валют и тд - не существует.

Для записи денежных средств как правило используется тип decimal. Так как decimal это 16-байтовый тип, он является самым большим (вместительным) примитивным типом данных, что обеспечивает минимальные неточности при округлении.

Для того что б вывести число с 2 знаками после запятой, нужно написать следующее:

            Console.WriteLine("How much money you have in your pocket?");
            Pocket pk = new Pocket();
            pk.Cash = Convert.ToDecimal(Console.ReadLine());
        Console.WriteLine(string.Format(CultureInfo.CreateSpecificCulture("en-us"), "You have {0:C2}", pk.Cash));
        Console.ReadKey();</pre>

Если что, CultureInfo находится в прострастве имён System.Globalization