How to extract the last N digits from a number in PHP

1 Answer

0 votes
/*
    Extracts the last N digits from a given number.

    Approach:
      - To get the last N digits, compute: number % (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(int $number, int $digits): int
{
    // Compute 10^digits using PHP's exponent operator (**)
    $divisor = 10 ** $digits;

    // Modulo returns the remainder, which is exactly the last N digits
    return $number % $divisor;
}

// Example values
$number = 987654321;
$digits = 4;

// Extract the last N digits
$result = getLastNDigits($number, $digits);

// Display the result
echo "Original number: $number\n";
echo "Digits requested: $digits\n";
echo "Last $digits digits: $result\n";



/*
run:

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

*/

 



answered Sep 18 by avibootz
...