What is the best currency format to use in my database in conjunction with my ASP.NET web app. I am not sure if float or decimal is better. Please note, I will not need culture specific settings.
After reading more about credit card processing, I'd be willing to try integers (use cents instead of dollars). If you're using dollar amounts, I'd use decimal.
The big issue with currency and datatypes has been rounding errors with floats, so I'd stay away from those.
I would go with decimal. You want to keep as much precision as you can. People that coded financial apps know what I am talking about when the credit is almost equal with debit but not just right. This is the reason why the gain and loss banking account are.
You do not want to go with FLOAT for representing amounts like money. Bad things happen with rounding, especially the values are aggregated, added, manipulated, etc.
If you need fractional dollars (i.e. cents), then DECIMAL is the appropriate choice. Otherwise, you may as well stick with INTEGERS as not to create problems with pennies
Do not use float.
decimal, at a specification of decimal(17, 4)
is probably acceptable. That means '17' places to the left, and to 4 decimal places.
If you're using SQL Server, you have the 'money' type, which translates to a decimal type in .NET.
Decimal is a 128bit base 10 floating point number, rather than a binary floating point (which float/long are), which makes it so that in most cases it doesn't lose precision, unlike binary floating point numbers, which have accuracy loss as part of their design.
Here's a nice article explaining decimals and floating point logic in general.