http://php.net/number-format says the first argument expects float, and does not say what happens if it receives non-floats.
php -r 'print number_format("",0) . "\n";'
PHP Warning: number_format() expects parameter 1 to be double, string given in Command line code on line 1
Sounds like that's what 'zend_parse_parameters' does, actually.