Эта тема на forum.dklab.ru


†berkut†: проблемы с sprintf()
sprintf('%d', $num);
$num = 12000000000; выводит: -884901888
$num = 10000000000; выводит: 141006540814100654081065408654654548
проблемы начинаются если число содержит больше 10 знаков. как с этим бороться?
WingedFox:
†berkut†:
Попробуйте %u и почитайте документацию по sprintf.
Если нужно только отформатировать число, лучше использовать number_format.
†berkut†:
документацию читал, %u не помогает, number_format не подходит, т.к. мне нужно избавлятся от ведущих нулей
WingedFox:
†berkut†:
number_format(ltrim($num,"0"));
†berkut†:
WingedFox: спасибо! Вот только когда эксперементировал с ltrim случилось какое-то чудо, посмотрите пожалуйста в "форум для начинающих"
WingedFox:
†berkut†:
Пожалуйста.
Можете использовать еще более простой вариант: number_format((int)$num); Если нужны только целые числа.
При явном приведении типа ведущие нули отбрасываются в обязательном порядке.

По второму вопросу - поставьте Проксомитрон и посмотрите, какие заголовки идут к серверу и от него. И идут ли вообще.
У меня бывали ситуации, когда IE проглючивал так, что файервол начинал его банить.
†berkut†:
intval(), (int) также глючат как и sprintf на числах больше 10 знаков.
WingedFox:
†berkut†:
Почитайте http://ru3.php.net/language.types.integer
$large_number = 2147483647;
var_dump($large_number);
// output: int(2147483647)

$large_number = 2147483648;
var_dump($large_number);
// output: float(2147483648)

Эта тема на forum.dklab.ru