Thread Runden und kleinste Einheit (13 answers)
Opened by esskar at 2007-06-13 16:23

PerlProfi
 2007-06-13 20:37
#77500 #77500
User since
2006-11-29
340 Artikel
BenutzerIn
[default_avatar]
Da hast du dir wirklich zu viel Arbeit gemacht, so gehts auch:
n_r = u * sprintf('%.0f', n / u)

Oder als kleine Perlfunktion:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
sub tounit($$) {
# pick parameters
my($num, $unit) = @_;

# check parameters
return undef unless looks_like_number($num);
return undef unless looks_like_number($unit);
return $unit unless $unit; # edit

# round number
my $res = $unit * sprintf( '%.0f', $num / $unit );

# return rounded number
return $res;
} # tounit

(check parameters funktioniert nur, wenn looks_like_number() von Scalar::Util mit eingebunden ist)

MfG\n\n

<!--EDIT|PerlProfi|1181827823-->

View full thread Runden und kleinste Einheit