![]() |
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]() ![]() ![]() |
|
bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 71 Всего: 315 |
на одном сайте каким-то образом переопределена floatval, так, что она конвертирует число с точкой в число с запятой.
каким образом это происходит? чтобы я мог найти сие место и вернуть в нужное состояние |
|||
|
||||
CruorVult |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 868 Регистрация: 24.9.2008 Где: г.Киев, Украина Репутация: 9 Всего: 28 |
http://php.net/manual/en/function.override-function.php
? Добавлено через 4 минуты и 38 секунд или http://de3.php.net/manual/en/function.runk...on-redefine.php |
|||
|
||||
bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 71 Всего: 315 |
у меня чего-то эти функции чего-то не определяются
Fatal error: Call to undefined function вообще, как я понимаю, floatval могли перекрутить с помощью setlocal() но я не могу найти в коде эту функцию, а главное, в нужном месте просто не могу сделать повторного setlocal() на нужный мне делиметер |
|||
|
||||
baldina |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3433 Регистрация: 5.12.2007 Где: Москва Репутация: 26 Всего: 101 |
это точно? оригинальная floatval() возвращает float, у которого нет понятия символа разделителя. разделитель появляется при конвертации в строку Добавлено через 38 секунд bars80080, покажите фрагмент кода, где вызывается floatval |
|||
|
||||
CruorVult |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 868 Регистрация: 24.9.2008 Где: г.Киев, Украина Репутация: 9 Всего: 28 |
может как-то через апач переопределяеться с помощью подключаемого модуля
хотя не думаю что кто-то на столько изощрен ![]() |
|||
|
||||
baldina |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3433 Регистрация: 5.12.2007 Где: Москва Репутация: 26 Всего: 101 |
может речь о том, что floatval воспринимает запятую во входной строке как разделитель? но это странно, насколько я понимаю, floatval не учитывает localeconv[decimal_point] при преобразовании из строки и всегда ожидает точку.
bars80080, попробуйте
имхо должно быть 123456.789 123456.789 123456 123456,789 123456,789 123456 |
|||
|
||||
bars80080 |
|
||||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 71 Всего: 315 |
floatval там вызывается везде, поэтому есть сложность с заменой на свою функцию я провёл тест, загнал такой код
если же вместо floatval просто помножить на единицу, то результат тот же
и этих floatval там по коду - до чёрта. но данные надо вставить в БД, поэтому необходимо их перевести в корректный вид Добавлено через 6 минут и 55 секунд уф! помогло засунул setlocale(LC_NUMERIC, 'en_US') посередь кода - сработало раньше пытался setlocale(LC_NUMERIC, 'en_EN') - не работало спасибо |
||||
|
|||||
baldina |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3433 Регистрация: 5.12.2007 Где: Москва Репутация: 26 Всего: 101 |
дело не в floatval, её никто не переопределял, и Вам переопределять не нужно
попробуйте сделать setlocale. её результат зависит от текущих настроек системы (напр, под windows разделитель для текущей локали меняется из панели управления, под linux определения локалей лежат обычно в /usr/share/locale и т.д.) параметры текущей локали можно проверить при помощи localeconv() мест, где производится вставка данных вероятно намного меньше, чем вызовов floatval. в крайнем случае замените разделитель. Добавлено через 1 минуту и 32 секунды просто нет такой локали)))) Это сообщение отредактировал(а) baldina - 14.10.2011, 18:02 |
|||
|
||||
![]() ![]() ![]() |
Правила форума "PHP" | |
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |