Search code examples
c#formattingintegercurrency

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{ }


Solution

  • 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.