Article View: pl.comp.lang.perl
Article #417Re: int ???
From: Bartlomiej Czardybon
Date: Tue, 01 Jul 1997 15:26
Date: Tue, 01 Jul 1997 15:26
51 lines
2047 bytes
2047 bytes
Piotr Auksztulewicz <piotras@polsl.gliwice.pl> wrote:
> Bartlomiej Czardybon (czar@david.silesia.pik-net.pl) wrote:
> : Czesc
> :
> : Jak ktos zgadnie co ten kod wypisze to stawiam piwo, jak mi powie
> : dlaczego to wypisuje to stawiam piec piw :-))
> : sub konwertuj {
> : $ile=$_[0];
> : return int($ile*100);
> : }
> : $ile="19.40";
> : print $ile*100,"\n";
> : print konwertuj($ile)."\n";
> Sprawdzilem, co wypisuje:
> 1940
> 1939
> perl -e 'print 19.40*100, "\t", int(19.40*100), "\n"'
> Efekt ten sam. Powod: obliczenia zmiennoprzecinkowe. Bynajmniej nie jest
> to bug w PA-RISCu (zakladam, ze puszczales to na zeusie).
> Generalnie takie cos:
> (x*y)/y == x
No swietnie... to teraz oglaszam konkurs na procedurke ktora
bedzie takie cos konwertowala poprawnie... mam jeszcze jedna
taka liczbe: 1155.60.
pierwsze podejscie (baaaaardzo glupie i naiwne, ale wykorzystujace
w pelni perla i zdaje sie nie majace szans sie tak wysypac :-)))
- all flames go to /dev/null ):
sub zl2gr {
my($ile,$zlotych,$groszy10,$groszy1,$wszystkiego);
$ile=$_[0];
$ile=~s/\,/\./g;
$ile =~ /(.*)\.(.*)/;
$zlotych=$1;
$groszy10=substr($2,0,1)*10;
$groszy1=substr($2,1,1);
$wszystkiego=$zlotych*100+$groszy10+$groszy1;
return $wszystkiego;
}
--
czarnobyl
Technical Details
Message-ID:
<5pb7ih$dbl@zeus.polsl.gliwice.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!pingwin.icm.edu.pl!news.icm.edu.pl!ict.pwr.wroc.pl!polsl.gliwice.pl!david.silesia.pik-net.pl!not-for-mailReferences:
<5patf0$d5d@zeus.polsl.gliwice.pl> <5pb5us$ccu@zeus.polsl.gliwice.pl>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!pingwin.icm.edu.pl!news.icm.edu.pl!ict.pwr.wroc.pl!polsl.gliwice.pl!david.silesia.pik-net.pl!not-for-mail From: Bartlomiej Czardybon <czar@david.silesia.pik-net.pl> Newsgroups: pl.comp.lang.perl Subject: Re: int ??? Date: 1 Jul 1997 15:26:09 GMT Organization: PiK-Net, Sieci Rozlegle Lines: 51 Message-ID: <5pb7ih$dbl@zeus.polsl.gliwice.pl> References: <5patf0$d5d@zeus.polsl.gliwice.pl> <5pb5us$ccu@zeus.polsl.gliwice.pl> NNTP-Posting-Host: david.silesia.pik-net.pl Mime-Version: 1.0 X-Newsreader: TIN [UNIX 1.3 unoff BETA release 961025] Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit