number_format(), no es solo para formatear, estoy seguro que podrias hacer algo con esa funcion.
Por otro lado, rbczgz, tendrias que ver como es que recibes esos precios, es decir.. como cadenas o como numeros. Pregunto esto porque si recibes algo asi como 12.3 (con punto como separador de decimales) esta todo bien, pero "12,2" puede ser interpretadp como una cadena.
Si es el primer caso, este codigo redulta bastante sencillo, usando floor() para sacar el entero:
Código PHP:
$numero = 12.3;
$entero = floor($numero);
$decimales = $numero-$entero;
Saludos