Prabhakaran
Prabhakaran

Reputation: 1337

How to format a Currency string to Integer?

I have a string with currency format like $35.00 and this has to be converted to 35.

Is that possible to retrieve using String.Format{ }

Upvotes: 10

Views: 26380

Answers (1)

Khalos
Khalos

Reputation: 2373

int value = int.Parse("$35.00", NumberStyles.Currency);

Should give you the answer you need.

However, a value like $35.50 converted to an integer will likely not return what you want it to, as Integers do not support partial (decimal) numbers. You didn't specify what to expect in that situation.

[EDIT: Changed double to decimal which is safer to use with currency]

If you want to get a value of 35.5 in that situation, you might want to use the decimal type.

decimal value = decimal.Parse("$35.00", NumberStyles.Currency);

Note that you have to be very careful when dealing with money and floating point precision.

Upvotes: 19

Related Questions