Autor Tema: numeros flotantes  (Leído 2192 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Elberto

  • PIC10
  • *
  • Mensajes: 2
numeros flotantes
« en: 22 de Febrero de 2020, 11:27:23 »
muy buenos días
soy nuevo en esto de los foros soy electrónico y me fascinan los microcontroladores
últimamente he querido realizar un programa en donde pueda trabajar con flotantes en ccs compiler, he averiguado como hacer operaciones pues por ahí vi un tutorial para una calculadora, sin embargo me asalta la inquietud de escribir números flotantes y que aparezcan en el lcd
la pregunta alguien sabrá como hacer esto les agradecería esto es solo de carácter educativo aclaro solo por satisfacción personal les agradezco cualquier ayuda

Desconectado planeta9999

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3520
    • Pinballsp
Re:numeros flotantes
« Respuesta #1 en: 22 de Febrero de 2020, 14:52:27 »
Puedes formatear cuarquier número como cadena para sacarlo en un LCD, usando la funcion sprintf().

Si en un float no se formatea correctamente la parte decimal, tendrías que separar la parte entera de la decimal, antes de usar el sprintf().

Aqui tienes un ejemplo sacado de los foros de microchip.

Código: C
  1. float val = 31.458;
  2.  int ival = (int) val;
  3.  float fval = val - ival;
  4.  sprintf( str, "a %d.%d b\n", ival, (int) 100*fval); // 1000*fval to get 3 digits after the decimal

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re:numeros flotantes
« Respuesta #2 en: 22 de Febrero de 2020, 17:50:38 »
o usar el float directamente:

Código: C
  1. float val = 31.458;
  2.  sprintf( str, "%.2f\n",val);

Y tendrias en el string "31.45"

PD: se esta usando Spintf que basicamente lo imprime a un string, pero podes usar el printf solo para el LCD


 

anything