Thread Zahl mit Nachkommastelle zuverlässig zerlegen (11 answers)
Opened by pktm at 2009-08-26 22:35

pktm
 2009-08-26 22:35
#124916 #124916
User since
2003-08-07
2921 Artikel
BenutzerIn
[Homepage]
user image
Hallo!

Mal was einfaches: Wenn ich Zahle der Form \d+\.\d{2} habe, wie kann ich 100% zuverlässig den ersten und den zweiten Teil identifizieren, außer mit einem regulären Ausdruck?

Mein Ansatz war sowas wie int() zu verwenden:
my $x = 5.75;
my $y = int($x); # = 5
my $z = $x - $y; # = 0.75

Aber funktioniert das auch wirklich immer? Ich weis es nicht, in der perldoch steht was zu int, was mich verunsichert:
Quote
int EXPR
int

Returns the integer portion of EXPR. If EXPR is omitted, uses $_. You should not use this function for rounding: one because it truncates towards 0, and two because machine representations of floating point numbers can sometimes produce counterintuitive results. For example, int(-6.725/0.025) produces -268 rather than the correct -269; that's because it's really more like -268.99999999999994315658 instead. Usually, the sprintf, printf, or the POSIX::floor and POSIX::ceil functions will serve you better than will int().


Grüße, pktm
http://www.intergastro-service.de (mein erstes CMS :) )

View full thread Zahl mit Nachkommastelle zuverlässig zerlegen