Это машина или человек, который отправляет это? Если это машина, то есть на другом компьютере есть приложение, которое решает, какие данные отправлять, а не является «слепой» передачей пользовательского ввода, тогда формат для таких вещей должен быть указан, а не зависеть от локали. Как правило, это означает, что вы оба согласны использовать CultureInfo.InvariantCulture
или эквивалентную культуру, если другое приложение не является .NET.
Если это человек, и вы знаете его язык, тогда вы можете использовать double.Parse(decString, cultureInfo)
. Это может потерпеть неудачу, например, если какой-нибудь человек, говорящий по-английски, позаимствует компьютер своего друга, говорящего по-немецки.
Если вы знаете, что не будет никаких группирующих разделителей (например, 123,456.78 или 123'457,78), тогда вы можете использовать double.Parse(decString.Replace(',', '.'), CultureInfo.InvariantCulture)
, но не можете, если есть группировки, поскольку это означает, что 123,456.78
становится 123.456.78
.