В PHP для преобразования строковых данных в числовые часто используется функция `floatval()`, однако она возвращает значение типа `float`, которое является приближенным для большого количества десятичных знаков. Для простых операций с дробными числами этого достаточно, и потеря точности обычно не заметна.
Для примера строки "40.999244", преобразование в число с плавающей точкой можно сделать так:
```php
// Строка со значением координаты
$coordStr = "40.999244";
// Преобразование строки в число с плавающей точкой
$coordFloat = floatval($coordStr);
echo $coordFloat; // Выведет значение 40.999244
```
Если вам необходима бóльшая точность и вы работаете с операциями, где точность важна, PHP предлагает расширение `bcmath`, предназначенное для работы с исключительно точной арифметикой. Для работы с этим расширением вам нужно будет убедиться, что оно установлено и включено в вашей конфигурации PHP. Библиотека `bcmath`, однако, работает с числами как со строками, что позволяет избежать потери точности:
```php
// Точные математические операции со строками
$coordStr = "40.999244";
$bcmathResult = bcadd($coordStr, "0", 6); // "6" — количество знаков после запятой
echo $bcmathResult; // Выведет ту же строку "40.999244"
```
Вы можете использовать различные функции `bcmath`, например `bcadd()` для сложения, `bcsub()` для вычитания и другие, в зависимости от требуемой операции, с указанием нужного количества знаков после запятой для сохранения точности.
Если же ваша задача просто хранить числовое значение без выполнения математических операций, в большинстве случаев достаточно преобразования строки в `float` с помощью `floatval()` или просто кастинга типа:
```php
$coordFloat = (float) $coordStr;
```
Однако стоит помнить, что внутреннее представление чисел типа `float` может все равно приводить к потере точности для очень больших или очень точных чисел.