Необходимо проверить текущую локализацию системы.
В зависимости от неё (ru-RU или en-US, полный список
здесь) точка и запятая в числе обрабатываются по-разному.
Соответственно, будет ошибка.
Проверьте, подав на вход не "43.12", а "43,12".
И, например, в en-US "43.12" выдаст ошибку, но "43.123" ошибки не даст, а выдаст ответ 43123
Вот здесь есть решения
https://stackoverflow.com/questions/11399439/conve...
double.Parse("52.8725945", System.Globalization.CultureInfo.InvariantCulture);