$a=10044232471141200000;
sprintf("%.0f",$a);
выдает 10044232471141199872 print PHP_INT_MAX;
9223372036854775807
То есть, все числа, большие этого значения, преобразуются в вещественные с потерей точности. Либо сразу используйте строку $a = '10044232471141200000';
, либо библиотеку высокой точности GMP.