Cita: Pero no hallo la manera de meter printf("%.1f",intval(($prom1*10))/10); a una variable
Si pudieras leer tan sólo 5 minutos el manual de printf() sabrías que dicha instrucción no devuelve ningún valor, es decir, imprime. De ahí la "print" de imprimir.
Ahora, revisando en el mismo manual existe otra función llamada sprintf(), que es idéntica, salvo que ésta sí devuelve un valor.
No te costaba nada leer el manual.