my $num = log(1_000_000)/log(10);
print "num: $num\n";
print "int(num): " . int($num) . "\n";
print "sprintf(num): " . sprintf("%0.16f", $num) . "\n";
produkuje:Do jakiej dokładności perl drukuje liczby zmiennoprzecinkowe?
num: 6
int(num): 5
sprintf(num): 5.9999999999999991
Aby co robi precyzja liczb zmiennoprzecinkowych Perl drukowania?
Zastosowanie: v5.8.8 zbudowane dla x86_64-linux-thread-Multi
nr '5.8' !!! zatrzymać!!! to jest czasami dziwne. użyj '5.10' lub wyżej – gaussblurinc