I am trying to parse or convert a string to decimal in C#.
I need to be able to parse strings like,
$123,345,676.8999 to its equivalent 123345676.90.
I need to have only 2 places after the decimal point and that needs to be suitably rounded.
Can you guys please suggest a way to do the above? Basically, any string in the form of currency (with $,pound symbol etc). I should be able to parse it and convert it to decimal.
Try this:
var val = double.Parse("$123,345,676.8999", NumberStyles.AllowThousands | NumberStyles.AllowDecimalPoint | NumberStyles.AllowCurrencySymbol);
val = Math.Round(val, 2);
You can use decimal.TryParse
to perform the parsing -- the link has some samples on how the parsing works.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With