Удивительно, что нужно сделать с windows чтобы в php номера форматировались под настройки локали (в русской там запятая стоит, но я точно помню даже со времен winxp в официальных сборках php там возвращались точки, собственно я сейчас порыл коментарии под
setlocale и там твоя проблема подтверждается)
Наверное setlocale похоже не отрабатывает корректно,
покажи вывод после setlocale - localeconv, точнее что там в decimal_point будет
Советую чтобы уж точно все гарантировать, любые данные, передаваемые в браузер пропускать через json_encode, это будет гарантировать корректный формат для чтения в javascript, а в браузере уже переводи к нужному виду (формат номеров там стандартизирован и не зависит от локали)
Либо использовать number_format чтобы фиксировать свой десятичный символ вне зависимости от локалей