Schrift
Wiki:Tipp zum Debugging: use Data::Dumper; local $Data::Dumper::Useqq = 1; print Dumper \@var;
[thread]5631[/thread]

Aufrunden ohne POSIX

Leser: 1


<< |< 1 2 >| >> 13 Einträge, 2 Seiten
[E|B]
 2003-08-16 16:40
#62943 #62943
User since
2003-08-08
2561 Artikel
HausmeisterIn
[Homepage] [default_avatar]
Hi!
Kann mir einer sagen, wie ich ohne POSIX.pm jede Zahl immer aufrunden kann?
Beispiele:

2,42 => 3
4,092 => 5
3 => 3
7,985 => 8
2 => 2

Wer kann etwas ohne Modul schreiben?
Danke!
Gruß, Erik!

s))91\&\/\^z->sub{}\(\@new\)=>69\&\/\^z->sub{}\(\@new\)=>124\&\/\^z->sub{}\(\@new\)=>);
$_.=qq~66\&\/\^z->sub{}\(\@new\)=>93~;for(@_=split(/\&\/\^z->sub{}\(\@new\)=>/)){print chr;}

It's not a bug, it's a feature! - [CGI-World.de]
kabel
 2003-08-16 16:44
#62944 #62944
User since
2003-08-04
704 Artikel
BenutzerIn
[default_avatar]
Quote
kabel@linux:~> perl
sub aufrunden {
my ($zahl) = @_;
return $zahl if $zahl == int ($zahl);
return int ($zahl + 1);
}

@zahlen = map { aufrunden ($_) } (2.42, 4.092, 3, 7.985, 2);

{ local $"=", "; print "@zahlen\n"; }
3, 5, 3, 8, 2
kabel@linux:~>



HTH
-- stefan
[E|B]
 2003-08-16 16:58
#62945 #62945
User since
2003-08-08
2561 Artikel
HausmeisterIn
[Homepage] [default_avatar]
Perfekt! Danke!
Gruß, Erik!

s))91\&\/\^z->sub{}\(\@new\)=>69\&\/\^z->sub{}\(\@new\)=>124\&\/\^z->sub{}\(\@new\)=>);
$_.=qq~66\&\/\^z->sub{}\(\@new\)=>93~;for(@_=split(/\&\/\^z->sub{}\(\@new\)=>/)){print chr;}

It's not a bug, it's a feature! - [CGI-World.de]
Crian
 2003-08-18 12:09
#62946 #62946
User since
2003-08-04
5872 Artikel
ModeratorIn
[Homepage]
user image
Normales Runden: +0.5, dann Nachkommastellen mit int Abschneiden.

Immer aufrunden? Wozu soll den das gut sein??
Warum willst Du zwischen 3,000000000000000000000000000000000001 und 3 gleich um einen ganzen Zähler unterscheiden?

Dafür gibts nur selten Anwendungsfälle, die Funktion dazu heißt "ceil" (in C) und wird in der Mathematik als eckige Klammern ohne die unteren horizontalen Striche geschrieben.
Analog gibts "floor", welches mit eckigen Klammern ohne die oberen vertikalen Striche geschrieben wird.

Warum es floor und ceil in perl nicht gibt weiß ich eigentlich nicht... schade drum :(\n\n

<!--EDIT|Crian|1061194371-->
s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;

use strict; use warnings; Link zu meiner Perlseite
Dubu
 2003-08-18 12:20
#62947 #62947
User since
2003-08-04
2145 Artikel
ModeratorIn + EditorIn

user image
[quote=Crian,18.08.2003, 10:09]
Warum es floor und ceil in perl nicht gibt weiß ich eigentlich nicht... schade drum :([/quote]
Eben: perldoc POSIX
Crian
 2003-08-18 12:27
#62948 #62948
User since
2003-08-04
5872 Artikel
ModeratorIn
[Homepage]
user image
Ah, das kannte ich noch nicht, schick :)
Und warum muss es ohne POSIX sein, E|B?
s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;

use strict; use warnings; Link zu meiner Perlseite
SirLant
 2003-08-18 15:36
#62949 #62949
User since
2003-08-04
516 Artikel
BenutzerIn
[default_avatar]
Weil E|B lieber ohne Module arbeiten, afaik
--Programming today is a race between Software Enginers striving to build bigger and better idiot-proof Programs,
and the Universe trying to produce bigger and better idiots.
So far, the Universe is winning!
Strat
 2003-08-18 16:25
#62950 #62950
User since
2003-08-04
5246 Artikel
ModeratorIn
[Homepage] [default_avatar]
[quote=SirLant,18.08.2003, 13:36]Weil E|B lieber ohne Module arbeiten, afaik[/quote]
welch Verschwendung...
perl -le "s::*erlco'unaty.'.dk':e,y;*kn:ai;penmic;;print"
http://www.fabiani.net/
snadra
 2003-08-18 16:52
#62951 #62951
User since
2003-08-11
265 Artikel
BenutzerIn
[Homepage] [default_avatar]
Wenn er Lust hat sich die Finger wundzutippen...
Und für einen gewissen Lerneffekt ist es vielleicht auch nicht schlecht...
http://hamburg.pm.org
jeden 2. mittwoch im monat
--
#!/usr/bin/perl -w
$l=join('',map chr,(116,110,105,114,112))if$^T;
!!$$?@_=qw(Jhfg Aabgure Prey Hnpxre):$l=1;
for(@_){eval reverse($l)."'"._(_(_($_))).' \''}
sub _{$_=~y+a-z+n-za-m+and pop}
Crian
 2003-08-18 18:57
#62952 #62952
User since
2003-08-04
5872 Artikel
ModeratorIn
[Homepage]
user image
Ja . . . man kann auch objektorientiert C++ programmieren, ohne die STL zu verwenden. Mit eigenen String- und Containerklassen. Aber wer das mal machen musste, weiß warum das wenig taugt ;)

Ich mag die totale Moduleritis ja auch nicht, aber gerade im Standardumfang enthaltene Module nehm ich gerne an.
s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;

use strict; use warnings; Link zu meiner Perlseite
<< |< 1 2 >| >> 13 Einträge, 2 Seiten



View all threads created 2003-08-16 16:40.