Condicionales y floats

Buenas noches.

Tiempo atras implemente un programa en un arduino mega, en donde realizo un condicional con if entre un entero y un valor float.
Despues de tiempo he revisado el codigo nuevamente y tengo esa duda si es correcto o no?

  if ( (smoneda >= 1.0) && (smoneda < 10.0))
  {
    lcd.setCursor(1, 3);
    lcd.print(F(" "));
    lcd.print(smoneda);
    lcd.print(F(" "));
  }

PD: no he tenido problemas con la ejecición del programa, pero me gustaria tener una respuesta a mi duda.

es correcto (pero no optimizado)


if ( (smoneda >= 1) && (smoneda < 10)) {
    lcd.setCursor(1, 3);
    lcd.print(F(" "));
    lcd.print(smoneda);
    lcd.print(F(" "));
  }