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
*/