Hola, Gracias por las respuestas,
Ya resolví el problema. Resulta que mi variable K provenía de una cuenta realizada con lo que se obtenía de un adc. K era una variable del tipo float y lo que se obtenía del ADC era un tipo INT, por alguna razón me estaba truncando la parte decimal cuando hacia la cuenta K. Por lo tanto, previo a la cuenta K asigne la conversión del ADC a una variable tipo float y posterior a eso hice la cuenta con todas variables del tipo float.
El error no estaba en la muestra sino que estaba en la cuenta previa. Además, lo termine haciendo como decis de utilizar directamente printf(lcd_putc,"%6.3f",k) y muestra perfecto.
Problema solucionado,
Muchas gracias