How to replace all occurrences of a specific digit in a floating-point number with PHP

1 Answer

0 votes
function replaceAllDigits(float $num, string $oldDigit, string $newDigit): float {
    // Format the number to a string with 3 decimal places
    $strNum = number_format($num, 3, '.', '');

    // Replace all occurrences of oldDigit with newDigit
    $modifiedStr = str_replace($oldDigit, $newDigit, $strNum);

    // Convert the modified string back to a float
    return (float)$modifiedStr;
}

echo number_format(replaceAllDigits(82420.291, '2', '7'), 3, '.', '') . PHP_EOL;
echo number_format(replaceAllDigits(111.11, '1', '5'), 3, '.', '') . PHP_EOL;



/*
run:

87470.791
555.550

*/

 



answered 16 hours ago by avibootz

Related questions

...