How to check if integer multiplication will overflow in VB.NET

1 Answer

0 votes
Imports System

Class OverflowCheck
    Shared Public Function multiplyWillOverflow(ByVal x As Integer, ByVal y As Integer) As Boolean
        If x = 0 Then Return False
			
        If y > Integer.MaxValue / x Then Return True
        If y < Integer.MinValue / x Then Return True
        
		Return False
    End Function

	Public Shared Sub Main()
        Dim x As Integer = 3, y As Integer = 14727836
        Console.WriteLine(If(multiplyWillOverflow(x, y), "true", "false"))
						
        x = 133883
        y = 1872783642
        Console.WriteLine(If(multiplyWillOverflow(x, y), "true", "false"))
    End Sub
End Class



' run:
'
' false
' true
'

 



answered May 18, 2025 by avibootz
...