I have read a couple of articles about the perils of certain data types being used to store monetary amounts. Unfortunately, some of the concepts are not in my comfort zone.
Having read these articles, what are the best practises and recommendations for working with money in C#? Should I use a certain data type for a small amount and a different one for a larger amount? Also, I am based in the UK which means we use , (e.g. £4,000, whereas other cultures represent the same amount differently).
You should not use floating point numbers because of rounding errors. The decimal type should suit you.