Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> PHP

Hàm round() trong PHP

Định nghĩa và cách dùng

Hàm round() làm tròn số float đến độ chính xác mong muốn. Tham số precision dương làm tròn sau dấu phẩy, âm làm tròn trước dấu phẩy. Mặc định precision = 0.

Ví dụ: round(10.6) = 11, round(10.2) = 10. Luôn trả về float.

Có tham số tùy chọn mode nhận các hằng số định sẵn.

Cú pháp

round ( float $value , int $precision , int $mode ) : float

Tham số

STTTham số & Mô tả
1value
Số float cần làm tròn
2precision
Số chữ số thập phân. Mặc định 0. Dương: làm tròn sau dấu phẩy. Âm: làm tròn trước dấu phẩy.
3mode
Một trong các hằng số:
PHP_ROUND_HALF_UP: làm tròn ra xa 0 khi ở giữa (1.5→2, -1.5→-2)
PHP_ROUND_HALF_DOWN: làm tròn về 0 khi ở giữa (1.5→1, -1.5→-1)
PHP_ROUND_HALF_EVEN: làm tròn đến số chẵn gần nhất
PHP_ROUND_HALF_ODD: làm tròn đến số lẻ gần nhất

Giá trị trả về

Trả về số float đã làm tròn.

Phiên bản PHP

Có sẵn từ PHP 4.x, 5.x và 7.x.

Ví dụ

Làm tròn precision dương:

<?php 
$arg = 1234.567; 
echo "round(" . $arg . ") = " . round($arg) . "\n"; 
echo "round(" . $arg . ",1) = " . round($arg,1) . "\n"; 
echo "round(" . $arg . ",2) = " . round($arg,2) . "\n"; 
?>

Kết quả

round(1234.567) = 1235 round(1234.567,1) = 1234.6 round(1234.567,2) = 1234.57

Ví dụ

Làm tròn precision âm:

<?php 
$arg = 1234.567; 
echo "round(" . $arg . ") = " . round($arg) . "\n"; 
echo "round(" . $arg . ",-1) = " . round($arg,-1) . "\n"; 
echo "round(" . $arg . ",-2) = " . round($arg,-2) . "\n"; 
?>

Kết quả

round(1234.567) = 1235 round(1234.567,-1) = 1230 round(1234.567,-2) = 1200

Ví dụ

Dùng mode UP và DOWN:

<?php 
echo "round( 3.45,HALF_UP) = " . round(3.45,0, PHP_ROUND_HALF_UP) . "\n"; 
echo "round(3.75 HALF_UP) = " . round(3.75, 1, PHP_ROUND_HALF_DOWN) . "\n"; 
?>

Kết quả

round( 3.45,HALF_UP) = 3 round(3.75 HALF_UP) = 3.7

Ví dụ

Dùng mode ODD và EVEN:

<?php 
echo "round( 3.45,HALF_ODD) = " . round(3.45,0, PHP_ROUND_HALF_ODD) . "\n"; 
echo "round(3.78 HALF_EVEN) = " . round(3.78, 0, PHP_ROUND_HALF_EVEN) . "\n"; 
?>

Kết quả

round( 3.45,HALF_ODD) = 3 round(3.78, HALF_EVEN) = 4