Я занимаюсь разработкой программного обеспечения, в котором используется точность чисел, но у меня возникла эта проблема. Бывает, что когда я беру строку для преобразования, чтобы удвоить ее, я получаю другую культуру.
Например я использую
Convert.ToDouble("4089.90"); // it outputs 40.899,00
Странно, но на моем компьютере все работает нормально, но на клиентском ПК (с той же культурой в региональных настройках) отображается последний вывод. Я знаю, что могу это исправить используя
Convert.ToDouble("4089.90", System.Globalization.CultureInfo.InvariantCulture);
Но в программе много кода, использующего "Convert.ToDouble", и я не хотел бы менять все это, с другой стороны, я хочу понять, почему это происходит.