Восьмеричные числа — что мне может не хватать, чтобы проверить, имеет ли получаемый номер восьмеричный формат или нет?

Только что изучил основы преобразования десятичного числа в восьмеричное число. Теперь, наоборот, у меня, похоже, есть тот факт, что любое число, последняя цифра которого оканчивается на 8 или 9, не может быть восьмеричным числом.
Но есть ли что-нибудь еще, что мне нужно было бы проверить или сделать, чтобы увидеть, является ли входное число восьмеричным или нет (кроме проверки 8 или 9 в последней цифре)? — [в основном, спрашивая, если я пропускаю определенный процесс]

Ниже мой код в PHP:

<?php

$iOctal = 1423;
echo "What is the Decimal Value of the octal number $iOctal?"."<br/>";

$rg_Decimal = str_split($iOctal);
//print_r($rg_Decimal);

if (end($rg_Decimal) == 8 || end($rg_Decimal) == 9){
echo "<b>Error:- </b>Unable to process your request as the input number format is not of the Octal Number Format. Please try again...";
}

if ($iOctal < 8 && $iOctal >= 0){
echo "The Decimal Value of the octal number $iOctal is $iOctal.";
}
else{

$iE = count($rg_Decimal);
--$iE;
$iDecimal = 0;

for ($iA = 0; $iA < sizeof($rg_Decimal); ++$iA){

$iDecimal += $rg_Decimal[$iA] * bcpow(8,$iE);
--$iE;
}
echo "The Decimal Value of the octal number $iOctal is <b>$iDecimal</b>";
}

?>

Так уж сложилось, что во время тестирования я использовал онлайн-ресурс. Когда я дал конкретное число, он сказал, что числовой формат не является восьмеричным. Но у числа не было окончания 8 или 9.
Ждем вашей поддержки.

1

Решение

Вы можете использовать встроенную функцию octdect($number) с php.
Пример из http://php.net/manual/en/function.octdec.php , с тем же вопросом:

<?php

function is_octal($x) {
return decoct(octdec($x)) == $x;
}

echo is_octal(077); // true
echo is_octal(195); // false

?>
1

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

Других решений пока нет …

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