Sergey_K
Локаль я даже не трогал никогда
Kirill | CosmosDrops
сейчас покажу
Kirill | CosmosDrops
Вообще с точкой обычно
http://joxi.ru/Q2KxgVWuL3V3OA
Sergey_K
Любопытно, что у тебя и ниже все разделители запятая
Иван
— На моем компе все работает. — Отправим клиенту твой комп. так появился докер
Kirill | CosmosDrops
Любопытно, что у тебя и ниже все разделители запятая
любопытно то, что по идеи (float) должно выдавать число без учета локали, как я думал. У меня мускуль ругался, что set price = '1,2' это шайтанство, а так оно и есть. А оно получилось после (float) числа с точкой
Sergey_K
Ну, значит у тебя "тюненый" php
Sergey_K
Я сначала тоже про сиквел подумал
Sergey_K
Но у тебя все времена тоже с запятыми
Миша
вот кто скажет, как так
Миша
есть объект, но remove нифига
Андрей
вот кто скажет, как так
потому что надо getCollection
Миша
потому что надо getCollection
так что там что там объекты
Миша
разницы нет,
Миша
Миша
https://docs.modx.com/xpdo/2.x/class-reference/xpdoobject/persistence-methods/remove вот документация
Миша
все по ней
Kirill | CosmosDrops
Но у тебя все времена тоже с запятыми
Замечание: Символ десятичной точки определяется из настроек локали текущего скрипта (категория LC_NUMERIC). Смотрите также setlocale(). Из доки пхп, но в разделе преобразования числа в строку. Там где преобразование в float хер они это пишут
Sergey_K
а кто ее у тебя поменял?
Sergey_K
в этом основной вопрос
Sergey_K
я помню, что из-под винды csv парсил драйверами ODBC. Так вот там вообще невозможно поменять разделитель :)
Kirill | CosmosDrops
это не важно, преобразование (float)$x должно на выходе давать именно тип float, а не строку с локальным разделителем
Миша
https://prisma-cms.com/topics/zaprosyi-na-update-delete-i-t.p.-a-tak-zhe-otladka-chistyix-sql-zaprosov-vyipolnyaemyix-cherez-pdo.html полезно
Kirill | CosmosDrops
кстати сейчас проверю
Sergey_K
float хранится двумя частями, вот и все
Sergey_K
А любой человекочитаемый вид это тупо строка.
Sergey_K
И для php разделитель один, для SQL может быть другой
Sergey_K
Это и есть локаль
Sergey_K
Ты можешь делать CAST(var to DECIMAL) в запросах. Ну, попробовать как минимум
Sergey_K
Но проще поменять локаль
Kirill | CosmosDrops
эммм, т.е. хочешь сказать, что бывает sql такой, что там decimal update идет в виде '11,99'?
Sergey_K
Конечно
Sergey_K
Локаль в SQL поставь и вперед
Kirill | CosmosDrops
Kirill | CosmosDrops
смотри, у меня сайт и phpmyadmin на одном хосте
Kirill | CosmosDrops
сайт дает с запятой, мускль работает с точкой
Sergey_K
Ан нет
Sergey_K
Я тебе наврал
Sergey_K
Это в SQL server, значит. У оракла все жестко.
Kirill | CosmosDrops
я и говорю, это бред какой то. Я понимаю, когда ты флоат в стринг преобразуешь, пусть локаль использует. Но блин строку в флоат - это какой то бред, как по мне
Sergey_K
Он что дает?
Kirill | CosmosDrops
я уж локаль поменял, на самом деле
Kirill | CosmosDrops
а что проверить?
Kirill | CosmosDrops
могу обратно вернуть попробовать
Sergey_K
Ну тогда скажи "спасибо" тому, что ее менял :)
Kirill | CosmosDrops
parseFloat?
Sergey_K
Да
Sergey_K
JS наверняка берет локаль вообще с машины юзера
Sergey_K
Ну я не в теме, поэтому и предполагаю. По логике это клиент сайд. Откуда ей еще брать локаль?
Gaius Cassius
Ну я не в теме, поэтому и предполагаю. По логике это клиент сайд. Откуда ей еще брать локаль?
Браузер читая заголовки серва, может отдавать/выставлять локаль, не? Не думаю, что калькулятор на js на разных машинах будет по разному считать
Sergey_K
ПРочитал
Sergey_K
Только .
Sergey_K
А парсит слева до говносимвола. Целая часть
Sergey_K
И справа от говносимвола - дробная
Sergey_K
В общем, опять госдеп виноват :))
Gaius Cassius
Трамп на...рал в локалях😂
Sergey_K
Это ж у американцев "," это разделитель разрядов, а "." десятичные
Sergey_K
Надо сделать православный джаваскрипт
Kirill | CosmosDrops
В общем, опять госдеп виноват :))
тут еще интересная деталь появилась, вернул локаль, modx console показывает с запятой, чистый скрипт на php показывать с точкой
Kirill | CosmosDrops
видимо сам modx локаль какую то пытается впихнуть
Sergey_K
Епта
Kirill | CosmosDrops
Kirill | CosmosDrops
Sergey_K
а в консоли то же самое?
Kirill | CosmosDrops
а в консоли которая в modx с запятой ) а типы да, точно такие же
Алексей
report.pdf
Sergey_K
Алексей, видимо, кредит на кого-тооформляет
Kirill | CosmosDrops
я нашел, где это происходит епт, именно в modx
Kirill | CosmosDrops
https://github.com/modxcms/revolution/blob/2.x/core/model/modx/modx.class.php#L2502
Kirill | CosmosDrops
кто туда true последним аргументом втащил то.. =)
Kirill | CosmosDrops
хотя оно так и было, судя по всему. Но просто хз, именно этот момент локаль фигарит и вместо точки дает запятую. Однако, это не отвечает на вопрос, почему (float) работает с локалью. Это же, по сути, бред какой-то
Sergey_K
ну ьы можешь сделать
Sergey_K
setlocale(LC_ALL)
Kirill | CosmosDrops
setlocale(LC_NUMERIC, 'en_US');
Sergey_K
И посмотри, что будет