Hola, solo como comentario, diria que number_format solamente es para formatearlo con otro formato, no se le tendria que dar ese uso... Es solo un comentario.
Bueno hice esto es muy simple y bastante claro, y cumple lo que tu quieres, tienes 2 variables, una con la parte entera y la otra con los decimales...
Código PHP:
<?php
$precio = 453.45;
list($precio_entero,$precio_decimal) = explode(".",$precio);
echo $precio_entero."------------".$precio_decimal;
?>
Saludos.