Бьются float-значения в soap запросах и ответах

deonis

Новичок
Бьются float-значения в soap запросах и ответах

При передачи через soap протокол float переменных они приводятся к целым на другой стороне :(.

Не подскажете в чем может быть дело? Может какие-то настройки не те при компиляции php или еще что-то ....

PHP 5.1.6, *nix.

Заранее спасибо.

Добавлено:
Использую стандартные soap клиент и сервер


-~{}~ 26.01.07 12:22:

Похоже, что это все-таки не настройки, а таки глюк в коде ...

с большим трудом откатились к старой версии и там все работает, float передает нормально.

Сейчас будем глядеть в чем проблема.

-~{}~ 26.01.07 13:18:

Автор оригинала: deonis
При передачи через soap протокол float переменных они приводятся к целым на другой стороне :(.

Не подскажете в чем может быть дело? Может какие-то настройки не те при компиляции php или еще что-то ....

PHP 5.1.6, *nix.

Заранее спасибо.

Добавлено:
Использую стандартные soap клиент и сервер


-~{}~ 26.01.07 12:22:

Похоже, что это все-таки не настройки, а таки глюк в коде ...

с большим трудом откатились к старой версии и там все работает, float передает нормально.

Сейчас будем глядеть в чем проблема.
ошибка знатная получилась .... :)

раньше на хосте, где стоит soap сервер стояло
setlocale(LC_ALL, 'en_US.utf-8');

исправляя один из багов поставили
setlocale(LC_ALL, 'ru_RU.utf-8');

и с этого все началось ...

Спасибо всем за внимание и помощь в решении проблемы :) Без вас бы ничего не получилось ...

P.S. Сорри, что отвлек вас от работы своим глупым монологом.
 

Develar

Новичок
Нет, а что это за бред, мне AMF шлюз дает нормальный float и после установки русской локали получаю запятую во float вместо точки и PDO в decimal поле кладет int? Где логика? Какое отношение локаль имеет к представлению числа типа float? Ткните мордой туда, где оправдано такое поведение.
 

Develar

Новичок
Какое отношение локаль имеет к внутреннему, а не внешнему представлению float?

Спасибо, комментарии пользователей не прочел.
 

hermit_refined

Отшельник
Какое отношение локаль имеет к внутреннему, а не внешнему представлению float?
к внутреннему совсем никакого, оно хранится как double.
локаль влияет на преобразование числа в строку.
 
Сверху