У меня есть код ac #, работающий в .net Framework 2.0, который при преобразовании десятичной дроби в строку для печати в файле дает разные выходные данные в разных ОС Windows.
Я уже проверил, что обе системы являются регулярныминастройки точно такие же, тот же язык, тот же числовой формат и т. д.
Мой код выглядит следующим образом
object o = dr.GetValue(dr.GetOrdinal(cCol.ColumnName));
string value = Convert.ToString(o);
Он получает значение из базы данных, а объект имеет тип Decimal (o.GetType () == typeof (Decimal) оценивается как true)
Проблема заключается в том, что когда эта программа работает в .net Framework 2.0, но на сервере Windows 2000 вывод не совпадает с выполнением в. Net Framework 2.0 в Windows 10.
Например, для значения 2016
Вывод Windows 2000: «2016»
Вывод Windows 10: «2016.00»
Я попробовал следующее
string value = ((Decimal)o).ToString("0.##"));
Тогда вывод будет таким же для значения 2016. Однако, и вот где это становится сложным, если значение, скажем, 2016.6, вывод с этим новым методомявляется:
Вывод Windows 2000: «2016.60»
Вывод Windows 10: «2016.6»
Поэтому я не могу заставить его выводить одинаково в обоихсистемы.
Что может быть источником проблемы? Есть ли способ получить в Windows 10 тот же вывод, что и в Windows 2000?
Спасибо