Конвертация string to double C#

Есть XML файл, из которого я записываю данные в БД приложения. В классе этой xml входное значение string. Пример тега, в котором записывается значение <creditTotalAmt>29,770</creditTotalAmt>, иногда содержит <creditTotalAmt>N</creditTotalAmt> . Поэтому сделал конвертацию из string в Double

//code
addCred.amtOutstanding = Convert.ToDouble(i.amtOutstanding);
//

Некоторые документы, которые приходят выдают ошибку:

Входная строка имела неверный формат. ---> System.Reflection.TargetInvocationException: Адресат вызова создал исключение. ---> System.FormatException: Входная строка имела неверный формат. в System.Number.ParseDouble(String value, NumberStyles options, NumberFormatInfo numfmt) в System.Double.Parse(String s, IFormatProvider provider)

Что может быть не так?


Ответы (1 шт):

Автор решения: Yaroslav

можно так:

var x = "29,77";
var text = x.Replace(',', '.');

double.TryParse(text, NumberStyles.Any, CultureInfo.InvariantCulture, out double value);
→ Ссылка