test na cislo

Honza Pazdziora adelton na informatics.muni.cz
Čtvrtek Říjen 24 13:38:48 MEST 2002


On Thu, Oct 24, 2002 at 01:34:36PM +0200, Jiri Polcar wrote:
> Potrebuju prevest uhel z notace
> 
>                 deg:min:sec  (23:23:322.432)
> 
> na dekadickou
> 
>                 deg (23.3895)
> 
> Od uzivatele prevezmu `deg:min:sec', splitnu to
> 
>         ( $deg, $min, $sec ) = split /:/, $input;
> 
> a chci se podivat, jestli maji jednotlive casti ($deg, $min a $sec)
> smysl, napriklad, jestli
> 
>             0 <= $min < 60
> 
> Pokud v $min neni cislo, tak predchozi podminka zkonci s warningem. Tomu
> se snazim vyhnout. Je to srozumintelne?

No dobre, ale porad jste nerekl, co se ma stat. Pokud nezadanou (nebo
divne zadanou hodnotu) chcete povazovat za nulu, tak si proste do te
casti kodu, kde tohle testujete, dejte

	local $^W = 0;
	$min += 0;

Pokud chcete detekovat, ze tam je rozumna hodnota, udelejte si naopak
test na

	$min =~ /^[0-5]?[0-9]$/

Proste nejde o to, jestli to, co v te promenne je, je cislo nebo ne.
Jde o to, co se v takovem pripade ma stat/nestat.

PS: Odpovedi piste prosim pod to, na co reagujete.

-- 
------------------------------------------------------------------------
 Honza Pazdziora | adelton na fi.muni.cz | http://www.fi.muni.cz/~adelton/
      ... all of these signs saying sorry but we're closed ...
------------------------------------------------------------------------


Další informace o konferenci Perl