ARREDONDAMENTO DE FLOAT EM ANSI C.

Programação C em geral

Moderadores: 51, guest2003

ARREDONDAMENTO DE FLOAT EM ANSI C.

Mensagempor fabim » 26 Out 2011 12:32

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
Mano, ve só.
Sou responsável pelo que escrevo!!! E não pelo que você entende !!!
fabim
Dword
 
Mensagens: 5001
Registrado em: 16 Out 2006 10:18
Localização: aqui uái!!!?

Re: ARREDONDAMENTO DE FLOAT EM ANSI C.

Mensagempor andre_luis » 26 Out 2011 21:48

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.


+++
"Por maior que seja o buraco em que você se encontra, relaxe, porque ainda não há terra em cima."
Avatar do usuário
andre_luis
Dword
 
Mensagens: 5447
Registrado em: 11 Out 2006 18:27
Localização: Brasil - RJ

Mensagempor tcpipchip » 26 Out 2011 22:15

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
Avatar do usuário
tcpipchip
Dword
 
Mensagens: 6560
Registrado em: 11 Out 2006 22:32
Localização: TCPIPCHIPizinho!

Mensagempor barboza » 27 Out 2011 09:08

Os homens mentiriam muito menos se as mulheres fizessem menos perguntas.
Avatar do usuário
barboza
Word
 
Mensagens: 948
Registrado em: 17 Out 2006 13:42
Localização: Longe de onde gostaria de estar

Mensagempor chrdcv » 27 Out 2011 11:43

#define STR_SIZE (64)
char *buf = malloc(sizeof(char)*STR_SIZE);
float my_num;
sprintf(buf, "%.2f", my_num);
Avatar do usuário
chrdcv
Dword
 
Mensagens: 1580
Registrado em: 13 Out 2006 14:13

Mensagempor fabim » 28 Out 2011 11:42

bom, infelizmente, vamos tentando !!
Faze na unha mesmo, era mais modicompatibilidade..

Round(valor*100)/100; //2 casas depois da virgula;;;;;;
Mano, ve só.
Sou responsável pelo que escrevo!!! E não pelo que você entende !!!
fabim
Dword
 
Mensagens: 5001
Registrado em: 16 Out 2006 10:18
Localização: aqui uái!!!?


Voltar para Visual C++/C/C++/C#

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante

x