|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Andrey Sapozhnikov 2:5020/400 25 Mar 2002 15:42:52 To : Artem Chuprina Subject : Re: <none> --------------------------------------------------------------------------------
Artem Chuprina wrote:
> Здравствуй, Andrew Ladutsko.
>
> AL> Как удостовериться, что передаваемая программе переменная - вещественное
> AL> число больше нуля?
>
> AL> Единственное, что приходит в голову:
>
> AL> if ($a*1 && $a>0) { ... }
>
> Это эквивалентно просто $a>0, по идее. Потому как если мы сумели
> проинтерпретировать значение $a как вещественное число для умножения на 1, то
> для сравнения с нулем тоже сможем. Верно и обратное. Тот факт, что для
> умножения на 1 и для сравнения '>0' надо проинтерпретировать аргумент как
> вещественное число, надеюсь, понятно...
$ perl -e '$a = "123kasfd"; print $a*1, "\n"'
123
$ perl -w -Mstrict -e '$a = "123kasfd"; print $a*1, "\n"'
Argument "123kasfd" isn't numeric in multiplication (*) at -e line 1.
123
в общем, попытка использовать значение в мат. выражении - не самый
лучший способ определить число это, или нет.
Андрей
--- ifmail v.2.15dev5
* Origin: Demos online service (2:5020/400)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/528405b6321f.html, оценка из 5, голосов 10
|