J'étais à la recherche de la convention d'arrondi utilisée par la fonction intégrée de Perl sprintf.Pourquoi le sprint de Perl ne tourne-t-il pas correctement les nombres à virgule flottante?
Je pensais qu'il fait un arrondi normal (par exemple ROUND_HALF_UP comme dans Java's rounding mode convention), mais creuser encore prouvé ce à tort:
> /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
impression (sprintf (...))? Je me demande s'il y a un "printf" ... – jrockway
Jetez un coup d'œil à [Recette Perl Cookbook 2.2 - arrondir les nombres à virgule flottante] (http://books.google.com/books?id=hP4IRp8xwTkC&pg=PA64&lpg=PA64&dq= arrondi + nombre + perl + livre de cuisine & source = bl & OTS = ti7Tyxr3s7 & sig = gyWX-iySyiVZef0vB43ZuIaxkuw & hl = fr & ei = RPzrStmzO4z0MarIvKkI & sa = X & oi = book_result & ct = résultat & resnum = 1 & ved = 0CAwQ6AEwAA # v = OnePage & q = & f = false) pour une explication plus complète – heferav