|
|
|
| дана строка. Если она представляет собой запись целого числа, то вывести 1, если вещественного, то 2, если строку нельзя преобразовать в число, то 0. | |
|
|
|
|
|
|
|
для: Патик
(21.10.2009 в 20:06)
| | В чем трудность? | |
|
|
|
|
|
|
|
для: Патик
(21.10.2009 в 20:06)
| | Можно поступить так -
<?php
$str = 5;
switch($str)
{
case is_int($str):
echo "1";
break;
case is_double($str):
echo "2";
break;
case !is_numeric($str):
echo 0;
break;
}
?>
|
| |
|
|
|
|
|
|
|
для: ols
(21.10.2009 в 21:39)
| | Или так:
<?php
$str = 5;
switch( gettype($str) )
{
case 'integer':
echo "1";
break;
case 'double':
echo "2";
break;
default:
echo 0;
break;
}
?>
|
| |
|
|
|
|
|
|
|
для: ols
(21.10.2009 в 21:39)
| | у меня почему-то в этой программе всегда 1 выводит(( | |
|
|
|
|
|
|
|
для: Патик
(28.10.2009 в 19:10)
| | Ну дык понятно же. Предложенный вариант оперирует с типом переменных. А так как у вас строка, то gettype() не поможет. | |
|
|
|
|
|
|
|
для: Патик
(28.10.2009 в 19:10)
| |
<?
$str = '-123';
if ( preg_match('!^[+-]?\d+$!', $str) ) {
print '1';
} elseif ( preg_match('!^[+-]?\d+\.\d+$!', $str) ) {
print '2';
} else {
print '0';
}
|
| |
|
|
|
|
|
|
|
для: Саня
(28.10.2009 в 19:23)
| | эпически, но не лишено логики. | |
|
|
|
|
|
|
|
для: Flok
(28.10.2009 в 22:21)
| | как сказать....
1E-25 спокон веку считалось числом вещественным | |
|
|
|
|
|
|
|
для: Trianon
(29.10.2009 в 02:16)
| | Полагаю автору не понадобится валидация вещественных чисел в научной форме. | |
|
|
|
|
|
|
|
для: Саня
(29.10.2009 в 02:20)
| | это откуда такой термин? :)) | |
|
|
|
|
|
|
|
для: Trianon
(29.10.2009 в 02:38)
| | В институте преподаватель говорил. | |
|
|
|
|
|
|
|
для: ols
(21.10.2009 в 21:39)
| | >switch($str)
>{
>
>case is_int($str):
> echo "1";
> break;
>case is_double($str):
> echo "2";
> break;
>case !is_numeric($str):
> echo 0;
> break;
>}
и как - получилось? | |
|
|
|