Используйте эту функцию для приведения значения с плавающей точкой из любого стиля текста:
function parseFloat($value) {
return floatval(preg_replace('#^([-]*[0-9\.,\' ]+?)((\.|,){1}([0-9-]{1,3}))*$#e', "str_replace(array('.', ',', \"'\", ' '), '', '\\1') . '.\\4'", $value));
}
Это решение не зависит от каких-либо региональных настроек. Таким образом, для пользовательского ввода пользователи могут вводить значения с плавающей запятой любым удобным для них способом. Это действительно полезно, например если у вас есть проект, который написан только на английском языке, но люди по всему миру его используют и могут не иметь в виду, что проекту нужна точка вместо запятой для значений с плавающей точкой.
Вы можете добавить javascript в микс и получить настройки браузера по умолчанию, но многие по-прежнему устанавливают эти значения на английский, но все равно набирают 1,25 вместо 1,25 (особенно, но не ограничиваясь переводческой отраслью, исследованиями и ИТ)