Página 1 de 1

ARREDONDAMENTO DE FLOAT EM ANSI C.

MensagemEnviado: 26 Out 2011 12:32
por fabim
Pessoal, eu trabalho com uma grandeza que me enteresa o formato ##.##.
Acontece que os XX.XX#### estão foderizando meu meio de campo, e eu queria algum comando nativo do ANSI C que fizesse o arredondamento de casas após o ponto.
Matematicamente eu sei fazer sem crise, mais gostaria de saber se existe algum comando nativo do ANSI C.

exemplo.

29.05634
ROUND PARA
29.06 pois a terceira casa pós zero é maior que 5

simples assim.

Abraços

Re: ARREDONDAMENTO DE FLOAT EM ANSI C.

MensagemEnviado: 26 Out 2011 21:48
por andre_luis
A única maneira que consigo visualizar para resolver isso com funções nativas da biblioteca do ansi C, seria convertendo o número para String e depois usar os formatadores da função printf.


+++

MensagemEnviado: 26 Out 2011 22:15
por tcpipchip
No ANSI C :( Nao sei...
Pena que RITCHIE morreu...ele poderia ajudar...

Aqui estao discutindo o teu problema FABIM
http://bytes.com/topic/c/answers/217977 ... g-function

MensagemEnviado: 27 Out 2011 09:08
por barboza

MensagemEnviado: 27 Out 2011 11:43
por chrdcv
#define STR_SIZE (64)
char *buf = malloc(sizeof(char)*STR_SIZE);
float my_num;
sprintf(buf, "%.2f", my_num);

MensagemEnviado: 28 Out 2011 11:42
por fabim
bom, infelizmente, vamos tentando !!
Faze na unha mesmo, era mais modicompatibilidade..

Round(valor*100)/100; //2 casas depois da virgula;;;;;;