problème float int

Bonjour,
J’ai un petit problème de décimal et de entier.
J’essaie d’extraire le chiffre entier de, par exemple :
float A = 123456,12
avec
int B = A
je devrai obtenir: 123456
mais que nenni c’est un joli 32767 que j’obtiens ???
lorsque le float A = 12345,12 // 5 chiffres ça fonctionne .
je suppose un problème de dépassement.
une idée pour avoir mes 5 chiffres ?

Bonjour,

Si c'est un processeur avr les entiers sont sur 16 bits, donc 32767 au maximum.
Il y a débordement lorsque tu affecte une valeur supérieure à un entier.

Il faut utiliser un long.

Hé oui, Bravo.
Merci.
float A = 12345678,54 ;
long B = A ;
B = 12345678