2010-06-22 68 views
7

Có thể để làm tròn một số thập phân đến gần 0,5 với PHP như thế này:PHP tròn số thập phân

number | round 
---------------- 
1.29 | 1.50 
2.03 | 2.00 
1.43 | 1.50 
1.13 | 1.00 
11.38 | 11.50 

Tôi đã thử với:

$rnd= round($number,2); 

nhưng tôi nhận được số thập phân như một trong cột "số" ở trên.

+0

Chờ, cột nào là đầu vào và đầu ra là cột nào? –

+0

Giả sử 1.73 -> 2? –

+1

Kết quả của bạn được làm tròn đến hàng trăm gần nhất như bạn đã nêu. Nhưng bạn không có ý nói những gì bạn nói. – plor

Trả lời

16
function round_to_nearest_half($number) { 
    return round($number * 2)/2; 
} 
+0

$ f là gì? Và bạn không cần độ chính xác nếu nó là 0. – plor

+0

chức năng round_to_nearest_half ($ original) {return (round ($ original * 2)/2);} Sẽ giống như nó! – RobertPitt

+0

@ vâng vâng, tôi đã đổi ý về tên biến nửa chiều. Đúng vậy, bạn nói đúng, bạn không cần đối số thứ hai, tôi chỉ chọn cú pháp OP được sử dụng. – Artefacto

-2

Bạn không muốn viết bất kỳ chức năng cho php này tròn chức năng đã có tùy chọn, trong chế độ là một cuộc tranh luận thứ ba của chức năng tròn. để tham khảo thêm PHP Round Function

+2

Không, nó không có. Đối số thứ ba trong hàm round() xác định cách thức mà hàm này nên làm tròn một nửa. 'vòng (1.5, 0, PHP_ROUND_HALF_UP); // 2' 'vòng (1.5, 0, PHP_ROUND_HALF_DOWN); // 1' 'vòng (1.5, 0, PHP_ROUND_HALF_EVEN); // 2' 'vòng (1.5, 0, PHP_ROUND_HALF_ODD); // 1' 'vòng (1.55, 1, PHP_ROUND_HALF_UP); // 1.6' 'vòng (1.55, 1, PHP_ROUND_HALF_DOWN); // 1.5' 'vòng (1.55, 1, PHP_ROUND_HALF_EVEN); // 1.6' 'vòng (1.55, 1, PHP_ROUND_HALF_ODD); // 1,5' –

Các vấn đề liên quan