Dlaczego sprint Perla nie zaokrągla poprawnie liczb zmiennoprzecinkowych?
Szukałem konwencji zaokrąglania używanej przez wbudowaną funkcję Perlasprintf.
Myślałem, że robi to normalne zaokrąglanie (np. ROUND_HALF_UP jak wKonwencja trybu zaokrąglania Java), ale kopanie dalej udowodniło, że to źle:
> /usr/local/bin/perl5.10.1 -e 'print(sprintf("%.2f", shift @ARGV)."\n");' 0.335
0.34
> /usr/local/bin/perl5.10.1 -e 'print(sprintf("%.2f", shift @ARGV)."\n");' 1.335
1.33