decimal.Parse не работает должным образом с настройками локализации - PullRequest
0 голосов
/ 10 октября 2018

Моему приложению внезапно не удалось преобразовать строковое значение формата "18.000" в десятичное или целое число с ошибкой

System.FormatException: входная строка была в неправильном формате.

При попытке либо

decimal.Parse(stringValue);
int.Parse(stringValue);    

Даже если пару дней назад это работало нормально.Он также работал на моем локальном компьютере, но не на сервере публикации.

Оказалось, что я мог бы решить эту проблему, передав CultureInfo.InvariantCulture следующим образом:

decimal.Parse(aod.PnPQuantity, CultureInfo.InvariantCulture)

Но когда я проверяюНастройки локализации сервера, он определенно использует . в качестве десятичного разделителя:

enter image description here

Мой вопрос, как это возможно?Есть ли какие-то другие настройки, которые мне нужно проверить, и это что-то, что могло измениться само по себе, или кто-то испортил мои настройки?

Будет ли проходить InvariantCulture, так как я предотвращаю это вбудущее, или мне нужно принять дополнительные меры предосторожности?

...