Когда я пытался запустить код из @JohnKoerner, произошел сбой, за исключением: System.FormatException
с сообщением: "Input string was not in a correct format."
.Ответ @ MEN был полезен, но я хотел добавить дополнительную информацию о принятом ответе и о том, как решить эту проблему.
Так же, как @MEN, мне пришлось включить NumberFormatInfo
, прежде чем метод .Parse()
сработалдолжным образом.Однако указывать десятичную с CurrencyDecimalSeparator
мне не нужно.Вы должны будете включить все свойства, которые вам нужны для ваших номеров.Вот список документов определения класса:
Документы MSDN - NumberFormatInfo Class
Я никогда не получу отрицательные числа в моей реализации, поэтому я решил не включать это,Вот что у меня есть:
string currencyAmount = "$45.00";
NumberFormatInfo FormatInfo = new NumberFormatInfo();
FormatInfo.CurrencyGroupSeparator = ",";
FormatInfo.CurrencySymbol = "$";
// Result: 45.00
decimal parsedCurrency = decimal.Parse(currencyAmount, NumberStyles.Currency, FormatInfo);