У меня есть какой-то сторонний код, который вызывает double.ToString()
.Моя проблема в том, что реализация по умолчанию double.ToString()
заменяет десятичную точку запятой, например:
49.99.ToString() == "49,99"
Это происходит, потому что по умолчанию double.ToString()
использует CultureInfo.CurrentCulture
, тогда как мне нужно, чтобы это былоCultureInfo.InvariantCulture
.Действительно, обратите внимание:
49.99.ToString(CultureInfo.InvariantCulture) == "49.99"
49.99.ToString(CultureInfo.CurrentCulture) == "49,99"
Есть ли способ изменить текущую культуру на инвариантную, чтобы double.ToString()
работал так, как мне нужно?
Я бы хотелизбегайте, насколько это возможно, работы со сторонним кодом, поэтому, пожалуйста, не предлагайте мне просто использовать перегрузку ToString(IFormatProvider)
вместо значения по умолчанию ToString()
.
Спасибо.