Нет очевидной причины, по которой это могло бы изменить значение на 2288.2
, но если оно действительно заканчивается как 22882.0
, то вы просто используете культуру, которая не использует точку в качестве десятичного разделителя.1004 * Вы просто должны указать культуру, которая использует период в качестве десятичного разделителя:
Dim d As Double = Double.Parse(theString, CultureInfo.InvariantCulture)