Bueno... lo que quieres hacer es mucho más fácil de lo que piensas. Te voy a dar dos métodos que quizás te vangan ambos.
El más difícil es el que estás intentando tú. Pero aquí hay una versión corregida de tu función que utiliza una coma como separador decimal y un punto como separador de miles, que parece ser lo que deseas:
function truncateFloat($number, $digitos) {
$raiz = 10;
$multiplicador = pow($raiz, $digitos);
$resultado = ((int) ($number * $multiplicador)) / $multiplicador;
// Usar coma como separador decimal y punto para los miles
return number_format($resultado, $digitos, ',', '.');
}
De todos modos, lo normal sería usar la función number_format
de PHP, que se utiliza para formatear números con miles separados por comas y decimales separados por puntos, pero también puedes personalizar estos separadores.
Prueba con esto:
number_format($$number, $digitos, ',', '.')
Si quieres explicaciones más detalladas sobre la función number_format() te recomiendo leer el artículo Formato de números en PHP.
Espero que con estas indicaciones puedas resolver tu duda. Un saludo!