Cast??

Cast?? - C#/.NET managed - Programmation

Marsh Posté le 20-09-2005 à 12:49:17    

Bonjour a tous,
 
Je suis au bord du "pétage de plombs". :pt1cable:  
Je développe en C# et ai le pb suivant :
 
float var_float = 4.06f;
 
int var_int = (int)( var_float * 100f );
==> var_int vaut TOUJOURS 405!!! :??:  
après investigation (Espion Express), le calcul (var_float * 100f ) ne donne pas 406.0, mais 405.999999994!!!! :pt1cable:  
 
Aidez-moi parceque la j'en peut vraiment plus!!!!!!!!! :fou:  
 
Merci
 
tiYakusa

Reply

Marsh Posté le 20-09-2005 à 12:49:17   

Reply

Marsh Posté le 20-09-2005 à 12:58:55    

http://www.jaggersoft.com/csharp_standard/13.2.1.htm
 
alinéa 16 : c'est arrondi vers zéro.
il faut utiliser Math.Round() pour arrondir au plus proche.
http://msdn.microsoft.com/library/ [...] topic2.asp


---------------
trainoo.com, c'est fini
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed