Autor Tema: Limitar el numero de decimales float en Mikro C  (Leído 10666 veces)

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

Desconectado D1to

  • PIC10
  • *
  • Mensajes: 39
Limitar el numero de decimales float en Mikro C
« en: 19 de Enero de 2017, 23:21:17 »
Hola a todos, verán, estoy intentando limitar el numero de decimales de un numero que se muestra en una lcd, a 1 decimal, estoy usando un lm35 y lo almaceno en una variable tipo float ( por q necesito el valor con un decimal), he estado buscando en  Internet pero no logro comprender. Agradecería si alguien tuviera una idea o pueda explicarme.  :-/  :-/  :-/  . Por cierto estoy usando un 16F877A y Mikroc C

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re:Limitar el numero de decimales float en Mikro C
« Respuesta #1 en: 19 de Enero de 2017, 23:37:25 »
Deberias buscar sobre "sprintf"

Desconectado D1to

  • PIC10
  • *
  • Mensajes: 39
Re:Limitar el numero de decimales float en Mikro C
« Respuesta #2 en: 19 de Enero de 2017, 23:48:58 »
sprintf --->identificador no declarado

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re:Limitar el numero de decimales float en Mikro C
« Respuesta #3 en: 20 de Enero de 2017, 00:16:46 »
Esa es la parte donde te dije

Deberias buscar sobre "sprintf"

Si buscabas sprintf en google, obtenias:

https://www.tutorialspoint.com/c_standard_library/c_function_sprintf.htm

La cual te dice que pertenece a stdio.h y ademas como usarla.

Desconectado D1to

  • PIC10
  • *
  • Mensajes: 39
Re:Limitar el numero de decimales float en Mikro C
« Respuesta #4 en: 20 de Enero de 2017, 00:54:35 »
 :oops: :oops: No comprendo

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re:Limitar el numero de decimales float en Mikro C
« Respuesta #5 en: 20 de Enero de 2017, 01:16:20 »
Código: C
  1. #include <stdio.h>
  2.  
  3. char str[8];
  4. float numero = 3.1415
  5.  
  6. sprintf(str,"%.1f",numero);

En str vas a tener un string para enviar con 1 solo decimal
« Última modificación: 20 de Enero de 2017, 13:24:05 por KILLERJC »

Desconectado manwenwe

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 2211
Re:Limitar el numero de decimales float en Mikro C
« Respuesta #6 en: 20 de Enero de 2017, 12:05:24 »
:oops: :oops: No comprendo

#include <sprintf.h>

Ojo por ojo y todo el mundo acabará ciego - Mahatma Gandhi -

Desconectado D1to

  • PIC10
  • *
  • Mensajes: 39
Re:Limitar el numero de decimales float en Mikro C
« Respuesta #7 en: 21 de Enero de 2017, 22:21:58 »
Discúlpenme por ser tan cabeza dura, encontré esto en la ayuda de Mikro C. Alguien podría explicarme paso a paso? que es lo q me falta en este ejemplo básico, sobre todo al momento de declarar, encontré mas información q soluciona mi problema, pero, no comprendo. Y como pueden ver en este ejemplo hay cosas q me faltan y eso significa que hay muchas cosas q no comprendo, el programa compila pero no obtengo salida enn la lcd.


https://download.mikroe.com/documents/compilers/mikroc/pic/help/sprint_library.htm
Código: [Seleccionar]
sbit LCD_RS at RB7_bit;
sbit LCD_EN at RB6_bit;
sbit LCD_D4 at RB5_bit;
sbit LCD_D5 at RB4_bit;
sbit LCD_D6 at RB3_bit;
sbit LCD_D7 at RB2_bit;
sbit LCD_RS_Direction at TRISB7_bit;
sbit LCD_EN_Direction at TRISB6_bit;
sbit LCD_D4_Direction at TRISB5_bit;
sbit LCD_D5_Direction at TRISB4_bit;
sbit LCD_D6_Direction at TRISB3_bit;
sbit LCD_D7_Direction at TRISB2_bit;
void sprintf(char *buffer, const code char *f,...){

}

float variable ;
char buffer [5] ;
void main(){
 LCD_INIT();
 LCD_CMD(_LCD_CLEAR);
 variable = 123.542 ;

 while (1){
 sprintf(buffer, "%.1f",variable);
 Lcd_Out(1, 1, buffer);
 delay_ms(10) ;
 }
}