Je souhaite convertir une valeur Int32 en valeur Int16. Les données perdues lors du casting ne sont pas un problème pour moi. Mais un System.OverflowException
dit que la valeur du type Int16 est trop grande ou trop petite.Impossible de convertir int32 en int16. La valeur du type Int16 est trop grande ou trop petite
Dim num As Int32 = &HFFFFFFF
Dim num2 As Int16 = Convert.ToInt16(num)
Debug.WriteLine(num.ToString("X4"))
Debug.WriteLine(num2.ToString("X4"))
Si je veux jeter un Int32 & HFFFFFFF à & HFFFF que dois-je faire.
Toute aide serait appréciée.
J'ai corrigé votre balise - 'OverflowException' et' StackOverflowException' sont * très * différents. –
Vous obtenez l'erreur overflowException car votre valeur int32 est supérieure à Int16.MaxValue ou inférieure à Int16.MinValue. –
IMO Si je dois vérifier la limitation ou utiliser try..catch avant le casting, ce ne serait pas très agréable car le code sera plus long. –