Sono nuovo di C e quando si esegue il codice qui sotto, il valore che viene messo fuori è 12098 anziché 12099.Moving decimale a destra in c
Sono consapevole che lavorare con i decimali comporta sempre un grado di inaccuratezza, ma esiste un modo per spostare con precisione il punto decimale a destra di due posizioni ogni volta?
#include <stdio.h>
int main(void)
{
int i;
float f = 120.99;
i = f * 100;
printf("%d", i);
}
Prova questa 'float i, f = 120.99f;'. – haccks
nessuno nel C++ standard, hai bisogno di un tipo decimale, come http://sourceforge.net/projects/stddecimal/ – sp2danny
Usa 'ftoa()' e copia ogni numero in un buffer 'char', saltando il carattere del punto decimale tramite' isdigit() '. –