How to extract the last N digits from a number in VB.NET

1 Answer

0 votes
Imports System

Module LastNDigitsProgram

    '
    ' Extracts the last N digits from a given integer.
    '
    ' Approach:
    '   - To get the last N digits, compute: number Mod (10 ^ digits)
    '   - This avoids string manipulation and uses efficient arithmetic.
    '
    ' Parameters:
    '   number : the original integer
    '   digits : how many digits to extract from the end
    '
    ' Returns:
    '   The last N digits as an Integer.
    '
    Function GetLastNDigits(number As Integer, digits As Integer) As Integer
        ' Compute 10^digits using Math.Pow (returns Double)
        ' Convert to Integer because Mod requires integer operands
        Dim divisor As Integer = CInt(Math.Pow(10, digits))

        ' Mod returns the remainder, which is exactly the last N digits
        Return number Mod divisor
    End Function

    Sub Main()
        ' Example values
        Dim number As Integer = 987654321
        Dim digits As Integer = 4

        ' Extract the last N digits
        Dim result As Integer = GetLastNDigits(number, digits)

        ' Display the result
        Console.WriteLine("Original number: " & number)
        Console.WriteLine("Digits requested: " & digits)
        Console.WriteLine("Last " & digits & " digits: " & result)
    End Sub

End Module


' run:
'
' Original number: 987654321
' Digits requested: 4
' Last 4 digits: 4321
'

 



answered Sep 18 by avibootz
...