Мне нужно отобразить число (переменную) двумя способами, и мне нужна помощь с кодом для этого уравнения.
Пример:
Переменная 5003
Первое эхо должно быть: 5000 (округлено)
Второе эхо должно быть только округленными цифрами: 3
Итак, я хочу знать, если и как я могу достичь этого уравнения, я думаю, среди строк: переменная (5003) минус округленная переменная (5000) равна 3
Таким образом, если переменная, скажем, 15009
Кулак будет 15000
Второго будет 9
Я надеюсь, что это имеет смысл, спасибо за помощь
Вы должны посмотреть в круглый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
Предполагая, что вы хотите округлить последние три цифры:
$input = 5003;
$rounded = (int)(5003 / 1000) * 1000;
$rest = $input - $rounded;
echo($rounded . "\n" . $rest);
Это приводит к:
5000
3