Estaba buscando la convención de redondeo utilizada por la función incorporada de Perl sprintf.¿Por qué el sprintf de Perl no redondea correctamente los números de coma flotante?
estaba pensando que lo hace un redondeo normal (por ejemplo ROUND_HALF_UP como en Java's rounding mode convention), pero excavación resultó más que esto sea malo:
> /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
print (sprintf (...))? Me pregunto si hay un "printf" ... – jrockway
Eche un vistazo a la [receta Perl Cookbook 2.2 - redondeando números de punto flotante] (http://books.google.com/books?id=hP4IRp8xwTkC&pg=PA64&lpg=PA64&dq= redondeo + números + Perl + libro de cocina y fuente = BL & ots = ti7Tyxr3s7 y sig = gyWX-iySyiVZef0vB43ZuIaxkuw & hl = es & ei = RPzrStmzO4z0MarIvKkI & SA = X & oi = book_result y ct = resultar y resnum = 1 & ved = 0CAwQ6AEwAA # v = OnePage y q = & f = false) para una explicación más completa – heferav