Уравнение Php: переменная минус такая же округленная переменная, возможно?

Мне нужно отобразить число (переменную) двумя способами, и мне нужна помощь с кодом для этого уравнения.
Пример:

Переменная 5003

Первое эхо должно быть: 5000 (округлено)

Второе эхо должно быть только округленными цифрами: 3

Итак, я хочу знать, если и как я могу достичь этого уравнения, я думаю, среди строк: переменная (5003) минус округленная переменная (5000) равна 3

Таким образом, если переменная, скажем, 15009

Кулак будет 15000
Второго будет 9

Я надеюсь, что это имеет смысл, спасибо за помощь

0

Решение

Вы должны посмотреть в круглыйPHP функция:

Вы можете иметь отрицательные десятичные точки, как это:

round(5003, -3);  // returns 5000
round(15009, -3); // returns 15000

Чтобы выяснить разницу, вы можете сделать так:

$input = 5003
$x = $input;
$y = round($input, -3);
$z = $x - $y; // z is now 3

PHP не математический язык, поэтому он не может решать уравнения для вас.

Вы можете сделать более общее решение, как это:

$inputs = [
5003,
15009,
55108,
102010
];

foreach ($inputs as $input) {
$decimals = floor(log10($input)) - 1;
$rounded = round($input, -1 * $decimals);
echo "$input - $rounded = " . ($input - $rounded) . PHP_EOL;
}

Выходы:

5003 - 5000 = 3
15009 - 15000 = 9
55108 - 55000 = 108
102010 - 100000 = 2010
3

Другие решения

Предполагая, что вы хотите округлить последние три цифры:

$input = 5003;

$rounded = (int)(5003 / 1000) * 1000;
$rest = $input - $rounded;

echo($rounded . "\n" . $rest);

Это приводит к:

5000
3
0

По вопросам рекламы [email protected]