Tôi đã tìm kiếm quy ước làm tròn được sử dụng bởi chức năng dựng sẵn của Perl sprintf.Tại sao chạy nước rút của Perl không làm tròn số dấu chấm động chính xác?
Tôi đã suy nghĩ rằng nó hoạt động làm tròn bình thường (ví dụ ROUND_HALF_UP như trong Java's rounding mode convention), nhưng đào thêm chứng minh điều này là sai:
> /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
in (sprintf (...))? Tôi tự hỏi nếu có một "printf" ... – jrockway
Hãy xem [Perl Cookbook recipe 2.2 - làm tròn số dấu chấm động] (http://books.google.com.vn/books?id=hP4IRp8xwTkC&pg=PA64&lpg=PA64&dq= làm tròn số + số + perl + sách nấu ăn & nguồn = bl & ots = ti7Tyxr3s7 & sig = gyWX-iySyiVZef0vB43ZuIaxkuw & hl = vi & ei = RPzrStmzO4z0MarIvKkI & sa = X & oi = book_result & ct = kết quả & resnum = 1 & ved = 0CAwQ6AEwAA # v = onepage & q = & f = false) để có giải thích đầy đủ hơn – heferav