How to format a Currency string to Integer?
21,634
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.
Author by
Prabhakaran
Working as a Senior Application Developer in a reputed Software Company.
Updated on July 09, 2022Comments
-
Prabhakaran almost 2 years
I'm 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{ }
-
Noon Silk over 13 yearsYou should use the
decimal
type for all currency/money-related operations. -
Khalos over 13 yearsAh yes, a very good point. I personally never write code that has to do with money and tend to forget the decimal type even exists.
-
Khalos over 13 yearsIf it worked for you, consider marking it as the answer. That way other people with the same problem know what worked. Glad you got it.