Как можно округлить десятичное число (с плавающей запятой) до ближайшего целого числа?
, например
1.2 = 1 1.7 = 2
Мое решение для sprintf
if ($value =~ m/\d\..*5$/){ $format =~ /.*(\d)f$/; if (defined $1){ my $coef = "0." . "0" x $1 . "05"; $value = $value + $coef; } } $value = sprintf( "$format", $value );
cat table | perl -ne '/\d+\s+(\d+)\s+(\S+)/ && print "".**int**(log($1)/log(2))."\t$2\n";'